我有一個InnoDB表拋光的問題,我無法找出:緩慢插入在MySQL InnoDB表添加時二級密鑰
- 我有5列,其中4列構成的主表鍵和另外3個輔助鍵;在該表中,大容量插入需要很長時間 - 對於100,000條記錄(僅爲250個記錄/秒),最多可達400秒
- 如果刪除所有二級索引,插入速度非常快 - 對於100,000條記錄(5000條記錄爲20秒/秒或快20倍)
- 如果我在單個bigint用戶標識列(也是主鍵的一部分(我經常需要搜索特定用戶的數據))上添加甚至一個輔助鍵,插入物立即變慢3-4倍。
這是怎麼回事?我懷疑答案是InnoDB存儲索引的方式,但經過大量閱讀後,我無法弄清楚。最令人沮喪的是,使用MyISAM引擎添加了所有索引的同一張表總是以5000記錄/秒的速度工作。
本應該說沒有二級索引是「唯一的」,所以沒有唯一的索引,既沒有外鍵,也沒有任何東西可以明顯地減慢這些事情的數量 –