第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定

PHP使用pdo和mysqli連接mysql數(shù)據(jù)庫的性能測試

標(biāo)簽:
PHP MySQL

在开始之前,说明一下我的环境:Apache用的2.4,MySQL版本5.7.16,php用的7.0版本.测试时,两种连接方式均采用面向对象的方式进行..数据库名称为test,以下是测试连接时的代码:

$startP = microtime(true);
for ($i = 0; $i < 100; $i++) {
    $pdo = new PDO('mysql:host=localhost;dbname=test','root','136189');
}
$endP = microtime(true);
echo 'PDO耗时:'.($endP-$startP).'<br/>';

$startM = microtime(true);
for ($i = 0; $i < 100; $i ++) {
    $mysqli = new mysqli('localhost','root','136189','test');
}
$endM = microtime(true);
echo 'mysqli耗时:'.($endM-$startM);

从代码可以看出,对每种连接方式都使用100这个量来测试,以下是运行结果(由于使用截图比较麻烦,我直接把运行结果复制过来了):

PDO耗时:0.63103604316711
mysqli耗时:0.61103487014771

什么,一次说明不了问题?好,那就再来一次!

PDO耗时:0.57503318786621
mysqli耗时:0.44002485275269

从这里可以看出,mysqli的连接速度是要快于pdo的.下面,再来看一下插入数据的速度对比,首先,创建插入的数据表,这个表非常简单,只有一个字段,以下是sql语句:

CREATE TABLE IF NOT EXISTS test(
    id INT UNSIGNED NOT NULL
)

进行插入记录测试时,每种方式各进行500次,由于我的机器比较老,执行该脚本的时候时间会大于30秒,而php默认的最长执行时间是30秒,超过30秒就会报错,所以要在代码开头加上一句代码,所有代码如下:

set_time_limit(100);
$startP = microtime(true);
$pdo = new PDO('mysql:host=localhost;dbname=test','root','136189');
$sql = "INSERT INTO test VALUES (?)";
$stmt = $pdo->prepare($sql);
$var1 = 1;
$stmt->bindParam(1,$var1);
for ($i = 0; $i < 500; $i++) {  
    $stmt->execute();
}
$endP = microtime(true);
echo 'PDO耗时:'.($endP-$startP).'<br/>';

$startM = microtime(true);
$mysqli = new mysqli('localhost','root','136189','test');
$sql = "INSERT INTO test VALUES (?)";
$mysqli_stmt = $mysqli->prepare($sql);
$var2 = 2;
$mysqli_stmt->bind_param('i',$var2);
for ($i = 0; $i < 500; $i ++) {
    $mysqli_stmt->execute();
}
$endM = microtime(true);
echo 'mysqli耗时:'.($endM-$startM);

和上面一样,我们还进行两次,结果如下:

PDO耗时:20.501173019409
mysqli耗时:18.282045841217
--------------------------------------------------
PDO耗时:22.438282966614
mysqli耗时:21.949255943298

可以看出,两者的速度差不多,这些数据仅供参考,实际应用中可以根据自己的需要来使用不同的操作对象,不过,如果数据库用的mysql的话,感觉还是用mysqli更好一些,毕竟,pdo还是有一定的复杂度的,对于有Java基础的小伙伴来说,pdo或许上手更快一些.最后,请原谅我不喜欢用中文标点,编程的时候切来切去真是太让人讨厌了,有没有同感的呢?

點擊查看更多內(nèi)容
5人點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
學(xué)生
手記
粉絲
10
獲贊與收藏
97

關(guān)注作者,訂閱最新文章

閱讀免費(fèi)教程

感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報

0/150
提交
取消