历史沿革
这是我的第一个Stackoverflow答案。此后发生了很多变化,特别是mysql API的弃用和删除。即使您仍在使用php
5.6,也不应该使用mysql_ * api。现在,PDO或mysqli是唯一可供选择的选项。由于许多原因,PDO更好。
是否在页面加载中缓存了准备好的语句?
我读过一些关于PHP的mysqli或PDO库做什么的矛盾报告。它们中的任何一个是否在脚本执行期间缓存准备好的语句?
两次页面加载之间不会使用相同的预处理语句。它必须每次准备。如果每隔一毫秒压缩一次,那么存储过程可能是一个好主意(假设您有一个复杂的查询)。
对于大插入量(数千行),可以通过将数据转储到文本文件中并使用LOAD DATA IN FILE加载来获得更大的提升。它比一系列插入要快得多。
原始答案
问题的真相是,有时mysqli更快,而其他时候mysql
api更快。但是差异确实很小。如果您查看网络上的任何性能测试,则差异实际上只有10到20毫秒。提高性能的最好方法是优化表设计。
许多“证明”较旧的api更快地方便地进行的测试忘记了为了最大程度的安全性,应为查询中使用的每个变量调用mysql_real_escape_string()。
当且仅当查询中使用的所有表上的数据保持不变时,查询才会被服务器缓存。
等待另一个实际数字更新



