我做了几个测试,首先我用$pdo->prepare()和$insert_sth->execute()测试了10k插入的mysql prepared语句(如果重要的话,还有命名参数),花了301s。
在那之后,我做了简单的插入查询,每次插入同样的10k插入,耗时303秒。
所以我想知道:准备好的语句真的能带来性能上的好处吗?因为我的测试没有显示出来,或者我必须优化我的预准备语句版本以使它们更快?
如果需要的话,我可以给你我的源代码。
发布于 2010-08-05 15:55:57
SQL最有可能是IO绑定的,因为就INSERT而言,它们通常并不是非常复杂--只是要放入其中的列和数据的列表。因此,在运行时,用来执行查询的内容并不像填充到数据库中的数据量、将数据传送到数据库服务器的速度以及数据库服务器存储数据的速度一样重要。
发布于 2010-08-05 15:59:11
就安全性而言,我更喜欢预准备语句,而不是性能(不确定它是否更快),例如,为了避免sql注入。
https://stackoverflow.com/questions/3412726
复制相似问题