大数据集哪个更快? mysql,mysqli还是PDO?

时间:2011-08-17 12:59:38

标签: php mysql database pdo mysqli

我正在使用一个相当大的信息数据库,有些查询会返回大量的信息。根据我的阅读,foreach()比使用更大数组的while()循环更快,但不能与mysql函数一起使用。

因此,作为一个普遍的问题,对于拥有相当多数据的1000行的大型数据库来说,哪3个更快? mysql,mysqli还是PDO?

谢谢!

4 个答案:

答案 0 :(得分:2)

不应该使用

mysql ,因为它已经过时并且已被 mysqli 取代。至于 mysqli PDO 之间的区别,请考虑以下几点:

使用mysqli的原因

  • 应该稍快一些。
  • 更简单,特别是如果您熟悉 mysql 扩展名,因为它非常相似。

使用PDO的原因

  • 更容易转换到其他数据库。
  • 更多功能(例如,预准备语句中的命名参数,对象映射)。

答案 1 :(得分:0)

MySQLi和PDO将提供类似的性能,但我相信MySQLi将比PDO更快,因为PDO更像是它的包装。因为PDO定制到多个数据库,而MySQLi裁缝一个。但这也可能是PDO优于MySQLi的地方。

最初的MySQL已经过时了MySQLi。

对于基准:http://jnrbsn.com/2010/06/mysqli-vs-pdo-benchmarks

答案 2 :(得分:0)

我不希望数据库接口成为瓶颈。我希望实际的数据库成为瓶颈。

确保了解索引,InnoDB与MyISAM,数据库规范化/非规范化,“EXPLAIN”查询以及准备好的查询(服务器端和客户端)。这些是影响性能的问题,而不是mysqli与pdo的选择。

有点像说,哪一辆自行车在比赛中会更快?嗯......自行车并不是那么重要,骑自行车的人会有所不同。同样,使用哪个数据库层并不重要。重要的是你调整了多少查询并调整了数据库。

答案 3 :(得分:0)

如果您使用Zend_Db类作为Zend Framework的一部分,您可以轻松地在mysqli和PDO之间切换。 Zend_Db是一个额外的抽象层。要切换底层库,您只需要更改1个参数。就是这样。

通过这种方式,您可以编写一次代码,并自行进行基准测试。