1) 如果你同時從同一客戶插入很多行,使用多個值表的insert語句。這比使用分開insert語句快(在一些情況中幾倍)。
insert into test values(1,2),(1,3),(1,4)…
2) 如果你從不同客戶插入很多行,能通過使用insert delayed語句得到更高的速度。delayed的含義是讓insert 語句馬上執行,其實資料都被放在記憶體的佇列中,並沒有真正寫入磁碟;這比每條語句分別插入要快的多;low_priority剛好相反,在所有其他使用者對錶的讀寫完後才進行插入。
3) 將索引檔案和資料檔案分在不同的磁碟上存放(利用建表中的選項)。
4) 如果進行批量插入,可以增加bulk_insert_buffer_size變數值的方法來提高速度,但是,這只能對myisam表使用。
5) 當從乙個文字檔案裝載乙個表時,使用load data infile。這通常比使用很多insert語句快20倍。
6) 根據應用情況使用replace語句代替insert。
7) 根據應用情況使用ignore關鍵字忽略重覆記錄。
Mysql insert語句的優化
這比使用分開insert語句快 在一些情況中幾倍 insert into test values 1,2 1,3 1,4 2 假設你從不同客戶插入非常多行,能通過使用insert delayed語句得到更高的速度。delayed的含義是讓insert 語句立即執行。事實上資料都被放在記憶體的佇列中,...
Mysql insert語句執行原理
加鎖流程一直很迷,尤其幾個session攪在一起。自以為的初窺門徑其實根本不值一提。今天碰巧搜到有大佬從原始碼層面分析insert加鎖,就順便記一下。原文部落格 鎖的種類 mysql官方文件 常見 sql 語句的加鎖分析 select,select for update,select lock in...
mysql insert的幾種方式
筆者建立的student 表,總共三個字段 studentid是主鍵 一 往student info 表中插入一條資料 insert into student infovalues 5,liutao 12 主鍵手動定義 報錯 error code 1062 duplicate entry 5 for...