【发布时间】:2012-04-03 23:04:24
【问题描述】:
我已经阅读了几个与此相关的问题,但我担心它们可能已经过时,因为自从这些问题得到解答后,新版本的 PDO 库已经发布。
我编写了一个 MySQL 类,它构建查询和转义参数,然后根据查询返回结果。目前这个类使用的是内置的mysql函数。
我很清楚使用 PDO 库的优势,例如它与其他数据库兼容,存储过程更易于执行等...... 但是,我想知道的很简单;使用 PDO 库是否比使用 mysql 内置函数更快?
我刚刚为 MsSQL 编写了等效的类,因此重写它以适用于所有数据库根本不会花费我很长时间。值得还是 PDO 库更慢?
【问题讨论】:
-
这是一个有趣的问题...我一直使用 PDO 只是因为一件事...存储过程...我没有检查速度...但是存储过程对我来说已经足够了:P。存储过程总是会增加 Web 应用程序的安全性,因为如果你使用它们,就没有“我忘记了
mysql_real_escape_string()调用”的地方:)。 -
如果您知道 PDO 的 许多 其他优势,但只关心速度,为什么不直接对其进行基准测试并确定它是否满足您的需求? PDO在很多方面都比较优秀,虽然慢了一点,但还是有优势的。
-
PDO 比
mysql函数稍慢。但是,mysql扩展没有准备好的语句。因此,如果您有一个冗长的插入,通过准备好的语句使用 PDO 会快得多,因为您只需将参数发送到已经解析的查询。然而,速度不应该是这里的决定因素。您应该使用 PDO 而不是mysql函数。此外,使用 PDO 进行编码要容易得多,而且使用mysql东西在 5 到 10 行中完成的工作非常好。 -
PDO 是一个抽象库,慢一点是正常的(即使差别不大),但你应该选择它,因为它还有其他优点(命名参数、缓冲查询、无需转义等)
-
感谢您的所有回复!我会自己测试速度,但我没有机会