【发布时间】:2014-07-01 13:47:28
【问题描述】:
任务是上传各种价目表,所以在我实施之前快速提问。
如果我想一次插入说 1000 行,比如 100,000 行,建议是: http://dev.mysql.com/doc/refman/5.5/en/optimizing-myisam-bulk-data-loading.html
“如果你做了很多连续的插入,你可以偶尔做一个 LOCK TABLES 后跟一个 UNLOCK TABLES(每 1,000 行左右)以允许其他线程访问表。这仍然会产生很好的性能收获。”
很明显,虽然我在桌子上有“WRITE LOCK”,但你仍然可以读取表格吗?
我问的原因是: http://dev.mysql.com/doc/refman/5.0/en/lock-tables.html 说:
只有持有锁的会话才能访问表。在锁被释放之前,没有其他会话可以访问它。
“可以访问它”...我的天哪,如果是这种情况,我们的整个系统就会冻结...我们根本无法拥有...这是事实,还是他们的意思是“。 ..在释放锁之前,没有其他会话可以写入表。”?
最终我希望能够在不影响系统的情况下插入 100,000 行简单的数据。我用过:
插入值 (1,0.00),(2,0.00), ... ..., (999,0.00)
但这通常会导致由于某种原因没有添加任何行。
【问题讨论】: