php高速讀寫數(shù)據(jù)庫(kù) php讀取數(shù)據(jù)表內(nèi)容

PHP如何實(shí)現(xiàn)一個(gè)高效的數(shù)據(jù)庫(kù)

你做好程序以后,把數(shù)據(jù)庫(kù)導(dǎo)出成sql文件

在富陽(yáng)等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作 網(wǎng)站設(shè)計(jì)制作按需求定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站設(shè)計(jì),成都全網(wǎng)營(yíng)銷推廣,成都外貿(mào)網(wǎng)站建設(shè)公司,富陽(yáng)網(wǎng)站建設(shè)費(fèi)用合理。

1、連接數(shù)據(jù)庫(kù)

2、讀取這個(gè)sql文件里的sql語(yǔ)句,并執(zhí)行

3、生成一個(gè)數(shù)據(jù)庫(kù)連接參數(shù)的php文件

?php

$con = mysql_connect("localhost","peter","abc123");

if (!$con)

{

die('Could not connect: ' . mysql_error());

}

if (mysql_query("CREATE DATABASE my_db",$con))

{

echo "Database created";

}

else

{

echo "Error creating database: " . mysql_error();

}

mysql_close($con);

?

?php

class ReadSql {

//數(shù)據(jù)庫(kù)連接

protected $connect = null;

//數(shù)據(jù)庫(kù)對(duì)象

protected $db = null;

//sql文件

public $sqlFile = "";

//sql語(yǔ)句集

public $sqlArr = array();

public function __construct($host, $user, $pw, $db_name) {

$host = empty($host) ? C("DB_HOST") : $host;

$user = empty($user) ? C("DB_USER") : $user;

$pw = empty($pw) ? C("DB_PWD") : $pw;

$db_name = empty($db_name) ? C("DB_NAME") : $db_name;

//連接數(shù)據(jù)庫(kù)

$this-connect = mysql_connect($host, $user, $pw) or die("Could not connect: " . mysql_error());

$this-db = mysql_select_db($db_name, $this-connect) or die("Yon can not select the table:" . mysql_error());

}

//導(dǎo)入sql文件

public function Import($url) {

$this-sqlFile = file_get_contents($url);

if (!$this-sqlFile) {

exit("打開文件錯(cuò)誤");

} else {

$this-GetSqlArr();

if ($this-Runsql()) {

return true;

}

}

}

//獲取sql語(yǔ)句數(shù)組

public function GetSqlArr() {

//去除注釋

$str = $this-sqlFile;

$str = preg_replace('/--.*/i', '', $str);

$str = preg_replace('/\/\*.*\*\/(\;)?/i', '', $str);

//去除空格 創(chuàng)建數(shù)組

$str = explode(";\n", $str);

foreach ($str as $v) {

$v = trim($v);

if (empty($v)) {

continue;

} else {

$this-sqlArr[] = $v;

}

}

}

//執(zhí)行sql文件

public function RunSql() {

foreach ($this-sqlArr as $k = $v) {

if (!mysql_query($v)) {

exit("sql語(yǔ)句錯(cuò)誤:第" . $k . "行" . mysql_error());

}

}

return true;

}

}

//范例:

header("Content-type:text/html;charset=utf-8");

$sql = new ReadSql("localhost", "root", "", "log_db");

$rst = $sql-Import("./log_db.sql");

if ($rst) {

echo "Success!";

}

?

php從服務(wù)器讀取數(shù)據(jù)快還是從數(shù)據(jù)庫(kù)讀取數(shù)據(jù)快

網(wǎng)站,php是放在web服務(wù)器里的,一般數(shù)據(jù)是放在mysql等數(shù)據(jù)庫(kù)里。讀取存儲(chǔ)數(shù)據(jù)庫(kù)肯定比讀寫文件要快。而且更簡(jiǎn)單。

php 讀寫文件和數(shù)據(jù)庫(kù)哪個(gè)快

1、直接讀文件相比數(shù)據(jù)庫(kù)查詢效率更勝一籌,而且文中還沒算上連接和斷開的時(shí)間。

2、一次讀取的內(nèi)容越大,直接讀文件的優(yōu)勢(shì)會(huì)越明顯(讀文件時(shí)間都是小幅增長(zhǎng),這跟文件存儲(chǔ)的連續(xù)性和簇大小等有關(guān)系),這個(gè)結(jié)果恰恰跟天緣預(yù)料的相反,說(shuō)明MYSQL對(duì)更大文件讀取可能又附加了某些操作(兩次時(shí)間增長(zhǎng)了近30%),如果只是單純的賦值轉(zhuǎn)換應(yīng)該是差異偏小才對(duì)。

3、寫文件和INSERT幾乎不用測(cè)試就可以推測(cè)出,數(shù)據(jù)庫(kù)效率只會(huì)更差。

4、很小的配置文件如果不需要使用到數(shù)據(jù)庫(kù)特性,更加適合放到獨(dú)立文件里存取,無(wú)需單獨(dú)創(chuàng)建數(shù)據(jù)表或記錄,很大的文件比如圖片、音樂等采用文件存儲(chǔ)更為方便,只把路徑或縮略圖等索引信息放到數(shù)據(jù)庫(kù)里更合理一些。

5、PHP上如果只是讀文件,file_get_contents比f(wàn)open、fclose更有效率,不包括判斷存在這個(gè)函數(shù)時(shí)間會(huì)少3秒左右。

6、fetch_row和fetch_object應(yīng)該是從fetch_array轉(zhuǎn)換而來(lái)的,我沒看過(guò)PHP的源碼,單從執(zhí)行上就可以說(shuō)明fetch_array效率更高,這跟網(wǎng)上的說(shuō)法似乎相反。

對(duì)于硬件來(lái)說(shuō),php 頻繁的讀寫文件好,還是讀數(shù)據(jù)庫(kù)好

如果你做的這個(gè)系統(tǒng)規(guī)模不大,數(shù)據(jù)應(yīng)用不頻繁,那么文件系統(tǒng)完全是可以接受的,但如果你的系統(tǒng)規(guī)模比較大,同時(shí)數(shù)據(jù)是頻繁更新和變化的,那么讀寫數(shù)據(jù)庫(kù)的效率肯定會(huì)比文件高很多。

網(wǎng)頁(yè)標(biāo)題:php高速讀寫數(shù)據(jù)庫(kù) php讀取數(shù)據(jù)表內(nèi)容
標(biāo)題鏈接:http://muchs.cn/article26/ddcgsjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、微信小程序、搜索引擎優(yōu)化、網(wǎng)站營(yíng)銷、Google

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名