2013-07-01 52 views
-1

是mysqli的程序比PDO类的简单查询更多更快,我没有使用的输入参数,因为我不是关于对SQL注入Mysqli程序vs PDO?

+0

我不认为一方或另一方会有明显的速度优势 - 要么是好的!只要你不使用不推荐的'mysql'函数,就选择其中一个。 – halfer

+0

在php服务器上的执行速度可能会更快吗? –

+0

我很怀疑的mysqli和PDO之间的速度差会对您的应用程序产生任何影响,如果差值将会有大的影响,是至关重要的,那么我建议,你可以使用NoSQL的替代MySQL的由于性能提升可能会大于这两个选项之间的差异 – Anigel

回答

2

你只是设法在一个碗里扔无与伦比的所有事宜。

“程序vs.OOP”无关的输入参数,而无论他们俩有什么关系的表现。

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

  • 如果你了解使用数据库抽象层,并寻找一个API来上创建一个的必要性,mysqli是一个不错的选择,因为它确实支持很多mysql特有的功能。
  • 如果像绝大多数PHP人一样,在应用程序代码中使用原始API调用(这实质上是错误的做法) - PDO是唯一的选择,因为此API假装为半DAL ,还没有完成,但提供许多重要功能,其中两个使PDO严格从mysqli的区分:

    • 不同的mysqli,PDO可以通过值,这使得可行的动态构建的查询,而无需相当混乱的几个屏幕结合占位符码。
    • 不同的mysqli,PDO总是可以在一个简单的平常数组的形式返回查询结果,而mysqli的可mysqlnd安装只做到这一点。
2

mysqli_query('SELECT 1')$pdo->query('SELECT 1')之间不存在性能差异。第二个是围绕第一个的封装,但与查询的总体速度相比,它所带来的性能损失是无关的,因为速度,您不应该选择其中一个。

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

+0

你有任何号码可以证明你的“程序更快”吗? – deceze

+0

@deceze:我的错误,我的意思是准备好声明。我纠正了它。速度更快,因为数据库只能“编译”查询一次。 – Lepidosteus

+0

太糟糕了,这种连续执行每100000次执行一次只会发生一次。不是一个值得提及的数字,在我看来 –