【问题标题】:Which one is faster and lighter - mysqli & PDO哪个更快更轻——mysqli & PDO
【发布时间】:2012-05-28 15:05:57
【问题描述】:

我将 MySQL 与 PHP5 一起使用。我知道古老的mysql_* 功能不再维护,社区已经开始deprecation process。所以我决定离开mysql_*。问题是去哪里?我正在寻找更轻、更简单、更快捷的方法。有人告诉我其中哪一个(mysqli 和 PDO)是;

  1. 更快
  2. 易于学习和编码
  3. 占用更少的空间和内存

注意:这两个初学者级别的教程链接会有所帮助。

【问题讨论】:

标签: php mysql pdo mysqli


【解决方案1】:

PDO vs. MySQLi: Which Should You Use?

PDO 和 MySQLi 都提供面向对象的 API,但 MySQLi 也 提供程序 API——让新手更容易 理解。如果您熟悉原生 PHP MySQL 驱动程序,您 会发现迁移到程序 MySQLi 界面要容易得多。在 另一方面,一旦你掌握了 PDO,你就可以将它与任何数据库一起使用 你想要的!

最终,PDO 轻松获胜。支持十二 不同的数据库驱动程序(十八个不同的数据库!)并命名 参数,我们可以忽略小的性能损失,并习惯 它的 API。从安全的角度来看,它们都是安全的,只要 开发人员按照应有的方式使用它们。

因此,如果您仍在使用 MySQLi,也许是时候做出改变了!

PDO vs. MySQLi: Which Should You Use? - By Dejan Marjanovic

希望这会有所帮助。

【讨论】:

  • 两个扩展都支持MySQL Native Driver,这简直就是一个野兽,如果你使用的是Mysql + PHP,你需要明白这是web开发中的一个奢侈职位。
  • 所以你复制了别人写的文章的大部分内容并将其作为“你的”答案?在写我建议的那篇文章之前,你应该表扬那个人。
  • @hakre 我已经提到他了,伙计。如果有人以更好的方式写了它,那么为什么需要写一个全新的答案。明白我的意思了吗?!
  • @AlphaMale:我在这里没有看到 Webarto 的名字。了解如何正确报价以及如何给予信用。
  • mysqli 不支持准备好的语句是什么意思?文档另有说明:php.net/manual/en/mysqli.prepare.php
【解决方案2】:

除了上面的问题,还有一张对比图;

Why you Should be using PHP’s PDO for Database Access 上的信息真的很有帮助。

【讨论】:

    【解决方案3】:

    关于性能

    虽然 PDO 和 MySQLi 都非常快,但 MySQLi 在基准测试中的执行速度却微不足道 - 未准备好的语句约为 2.5%,准备好的语句约为 6.5%。 MySQL 扩展甚至更快。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-05-02
      • 2018-02-07
      • 1970-01-01
      • 1970-01-01
      • 2012-03-09
      • 2013-04-04
      相关资源
      最近更新 更多