我有两个sql文件:第一个创建数据库,表和存储过程。第二个填充创建的表,包含90000个条目。
创建sql文件共创建1个数据库,26个表和104个存储过程。 填充sql文件添加90000个条目。
出于某种原因,当我执行创建文件时,它每次都能完美运行。
当我执行填充文件时,它会中途工作。它填充了一半的表,另一半将保持空白。我注意到,如果我在执行创建文件后等待大约2分钟,然后尝试执行填充文件,那么它可以正常工作。它为什么这样做?有没有办法快速填充表而不必等待?
我正在使用最新版本的mysql,我尝试通过phpmyadming执行populate文件的内容,这产生了相同的结果。
答案 0 :(得分:1)
我必须假设创建数据库和表的文件也创建PRIMARY KEYS
和Indexes
。您是否考虑过将文件拆分为:
还有人建议尝试增加bulk_insert_buffer_size,并在发布到的时候更改从单个查询中插入的方式:
INSERT INTO faults(id, fault_name) VALUES (...), (...) ...