有可能吗?从一个过程中?DB在SATA磁盘上。我使用的是ubuntu 14.04。所有表都有20-60行和6列。我在用交易。
目前的顺序是:
现在我有3-4张桌子/秒。
结论:当我禁用日志记录时,的性能与phpmyadmin类似。因此,正如里克·詹姆斯( Rick )所建议的那样,如果没有更快的存储速度,就无法实现进一步的改进。
发布于 2017-09-10 03:53:03
在旋转驱动器上,每秒可以得到大约100个操作。CREATE TABLE可能会慢一些,因为它涉及操作系统中的多个文件操作。所以,我希望1000 CREATE TABLEs超过10秒。这在Ubuntu上;在Windows上更长。
创建多个相同的表通常是糟糕的模式设计;相反,有一个带有额外列的表来区分子集。
INSERTing 40K行--
INSERTs,autocommit=ON - 400秒。INSERTs,每行20-60行,每次语句后的COMMITted -10秒.INSERT (如果你不消除其他限制的话) --可能不到1秒。不要使用多语句查询;这是一个潜在的安全问题。不管怎样,不会有多大帮助的。
发布于 2017-09-09 19:41:22
对于create,您可以执行多语句查询(PDO支持此操作),因此,在单个查询中,您可以创建多个表,而对于insert,可以使用批量插入来准备带有重复insert值的sql insert查询,并使用execute作为单个查询。
大容量插入是基于
INSERT INTO your_table( col1, col2,,,)
VALUES ( val1_1, val1_2 ,,,),
( vale2_1, val2_2 ,,,),
....然后,您可以基于这些技术构建一个PDO查询,并执行以下事实:如果对于单个语句,而不是对每条语句作为ne值,则可以在查询中嵌入上千个值,并在几秒钟内得到结果。
使用多行插入语法可以减少客户端和服务器之间的通信开销--如果需要插入许多行--这个技巧对于插入到任何表中都是有效的,而不仅仅是InnoDB表。
https://stackoverflow.com/questions/46134342
复制相似问题