学员服务
安防工程师培训 安防工程师培训 安防工程师培训 安防工程师培训
您现在的位置:首页 > 编程园地 > Mysql数据库
不要做愚蠢+OUT的程序员抛弃传统数据库连接方式有感而发
时间:2010-07-30  来源:原创  作者:yuge   浏览次数:
大家应该知道绿色植物是环保的,因为他开自自然,我不是说东西原始就一定好,只能看他适不适用用于你,但原始的一定是最“简单的”,比如说原始人,不用穿衣服,多省事情哈,程序也一样,最底层的一般效率是最高的了,然而我们很多时候因为要高效开发,所以做个web程序我们没有必要用C/C++吧,当然除非有特殊要求。
早晨无聊进论坛看了下,这篇文章看后“不要做愚蠢+OUT的程序员。抛弃传统数据库连接方式 ”,委实来火,通篇扯淡,误人子弟,贻害大方,更好笑者,跟帖附和者胜多。
现转帖一篇,以供大家求证。

mysql基本连接,mysqli,pdo,adodb,pearDB之间的区别,速度测试。

测试了一下mysql基本连接,mysqli,pdo,adodb,pearDB这几个的速度,结果如下:
用火狐测试1000次查询:

mysql基本连接: 2.26953577995
mysql基本连接: 2.18697500229
mysql基本连接: 1.75704884529
mysql基本连接: 2.14706707001
mysql基本连接: 1.51761412621
mysql基本连接: 1.7188680172
mysql基本连接: 2.32342600822
mysql基本连接: 1.34252810478
mysql基本连接: 1.45732498169
mysql基本连接: 3.65399098396
10次总共时间: 20.3743789196
最快的时间: 1.34252810478

mysqli: 2.35137701035
mysqli: 2.01316308975
mysqli: 1.98780703545
mysqli: 2.21229410172
mysqli: 2.24351000786
mysqli: 1.49605917931
mysqli: 2.17403697968
mysqli: 2.6106979847
mysqli: 2.58286499977
mysqli: 3.17641019821
10次总共时间: 22.8482205868
最快的时间: 1.49605917931

pdo: 1.90496611595
pdo: 3.74309897423
pdo: 1.86429619789
pdo: 3.76973009109
pdo: 3.53142094612
pdo: 2.90672111511
pdo: 1.9796090126
pdo: 2.14065814018
pdo: 2.19515609741
pdo: 2.10665798187
10次总共时间: 26.14231467245
最快的时间: 1.86429619789

adodb: 2.5019569397
adodb: 2.61657714844
adodb: 2.92435717583
adodb: 2.80851197243
adodb: 2.60950493813
adodb: 2.54582691193
adodb: 2.11301803589
adodb: 2.50546598434
adodb: 2.60761213303
adodb: 2.22149610519
10次总共时间: 25.45432734491
最快的时间: 2.11301803589

pearDB: 4.00152897835
pearDB: 4.18637084961
pearDB: 4.05423617363
pearDB: 4.27408695221
pearDB: 3.83169102669
pearDB: 4.07294511795
pearDB: 4.41416597366
pearDB: 4.13296508789
pearDB: 4.28273415565
pearDB: 4.09678888321
10次总共时间: 41.34751319885
最快的时间: 3.83169102669

再次以火狐测试10000次查询:
mysql基本连接: 21.663392067
mysqli: 20.0792491436  
pdo: 30.829996109
adodb: 27.3853821754
pearDB: 40.922711134

mysql基本连接: 18.972700119
mysqli: 19.537981987
pdo: 20.9608280659
adodb: 24.1204249859
pearDB: 38.7300019264

得出结论:
mysql和mysqli速度基本差不多,或者是mysql略快;
pdo和adodb速度差不多,比mysql和mysqli要慢一些;
pearDB最慢。

那么,实现开发中,我们该用哪个好呢?
从运行效率的角度来说,当然是用mysql基本连接或mysqli了。mysql基本连接是一堆函数,有一些功能如取得二维数据之类等可能需要自己去封装。mysqli是php的扩展,是一个预定义类,功能强,使用方便,但有的服务器上可能没有安装mysqli扩展。
pdo同mysqli一样是php的一个扩展,有的服务器可能也没有安装pdo,而且比mysqli略慢,所以一般不推荐使用。选择pdo不如选择mysqli。
adodb是php写成的,不需要安装额外的扩展,可以操作多种数据库。所以如果你的系统可能会改变数据库或涉及到多种数据库,可以用adodb。但一般实际开发中都是确定的一个数据库,所以也不建议使用。
pearDB最慢,也看不出来有什么特别的优点,不推荐使用。

最终结论:

可用mysql基本连接,自己封装成类。特别是开源程序,因为不确定服务器是否可以支持mysqli,应使用mysql基本连接。
特定的项目,有自己的服务器,可以自行安装mysqli扩展,推荐使用mysqli。

mysqli在5.3.0时加上了持久连接。
上面的本人没有测试过,大伙可以自己进行测试一下,比较一下结果是否类似。
版权归原作者所有,内容仅供参考学习,不得用于商业用途。
会员中心 | 缴费方式 | 在线咨询 | 投诉建议 | 友情链接 | 技术资讯 | 下载中心 | 产品推荐 | 解决方案
北京市朝阳区龙腾畅晓培训学校(北京龙腾畅晓科技有限公司全资举办) 版权所有
电话:010-84804842  邮箱:web@95px.com
地址:北京市朝阳区北苑路40号六号楼二层  邮编:100012
网站备案号:京ICP备17008362号-1

京公网安备 11010502032312号