如果您的查询是INSERT,请参见第7.2.19页。MySQL手册中INSERT语句的速度给出了两个有趣的信息,这取决于您是否使用事务引擎:
使用非事务引擎时:
要加快对非事务性表使用多个语句执行的INSERT *** 作,请锁定表。
这将提高性能,因为在所有INSERT语句完成后,索引缓冲区仅刷新一次到磁盘。通常,索引缓冲区刷新与INSERT语句一样多。如果可以使用单个INSERT插入所有行,则不需要显式的锁定语句。
并且,使用事务引擎:
为了更快地插入事务表,您应该使用START TRANSACTION和COMMIT而不是LOCK TABLES。
所以我猜想使用事务可能是个好主意-但我想这可能取决于服务器上的负载,是否同时使用同一张表有多种用途以及所有这些…
我链接到的页面上有更多信息,所以请随时阅读;-)
而且,如果您正在执行更新语句:
获得快速更新的另一种方法是延迟更新,然后在以后连续进行许多更新。如果锁定表,一起执行多个更新要比一次执行一次更新快得多。
因此,我想可以说与插入相同。
顺便说一句:可以肯定的是,您可以尝试两种解决方案,
microtime例如在PHP方面使用它们进行基准测试;-)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)