Mysqli程序与PDO?

时间:2013-07-01 15:50:52

标签: php mysql mysqli

mysqli程序在简单查询中比PDO类更快,我没有使用输入参数,因为我不关心sql注入

2 个答案:

答案 0 :(得分:3)

你只是设法把所有无可比拟的事情扔进碗里。

“procedural vs.OOP”与输入参数无关,而它们都与性能无关。

对于通用的“mysqli vs. PDO”问题,我只能引用我的other answer

  • 如果您了解使用数据库抽象层的必要性,并且正在寻找API来创建一个, mysqli 是一个不错的选择,因为它确实支持许多特定于mysql的功能。
  • 如果像大多数PHP人一样,你在应用程序代码中使用原始API调用(这实际上是错误的做法) - PDO是唯一的选择,因为这个API假装是一个半DAL,仍然不完整,但提供了许多重要的功能,其中两个使得PDO与mysqli有着明显的区别:

    • 与mysqli不同,PDO可以通过值绑定占位符,这使得动态构建的查询可行,而无需使用几个非常混乱的代码屏幕。
    • 与mysqli不同,PDO总是可以在简单的常规数组中返回查询结果,而mysqli只能在mysqlnd安装中执行。

答案 1 :(得分:2)

mysqli_query('SELECT 1')$pdo->query('SELECT 1')之间没有性能差异。第二个是第一个包装器的包装器,但它产生的性能损失与查询的整体速度相比无关紧要,因为速度不应选择其中一个。

另请注意,如果连续多次重复相同的查询,即使没有参数,准备好的语句也会更快,因为数据库只需要在开始时编译语句一次,而不是每次执行都编译。