優化insert語句:
3. 如果你同時從同一客戶插入很多行,使用多個值表的INSERT 語句。這比使用分開INSERT 語句快(在一些情況中幾倍)。
Insert into test values(1,2),(1,3),(1,4)…
4. 如果你從不同客戶插入很多行,能通過使用INSERT DELAYED 語句得到更高的速度。
Delayed 的含義是讓insert 語句馬上執行,其實數據都被放在內存的隊列中,並沒有真正寫入磁盤;這比每條語句分別插入要快的多;LOW_PRIORITY 剛好相反,在所有其他用戶對表的讀寫完後才進行插入;
5. 將索引文件和數據文件分在不同的磁盤上存放(利用建表中的選項);
6. 如果進行批量插入,可以增加bulk_insert_buffer_size 變量值的方法來提高速度,但是,這只能對myisam 表使用;
7. 當從一個文本文件裝載一個表時,使用LOAD DATA INFILE。這通常比使用很多INSERT 語句快20 倍;
8. 根據應用情況使用replace 語句代替insert;
9. 根據應用情況使用ignore 關鍵字忽略重復記錄。