大批量插入資料的優化
對於innodb引擎,大量插入資料時,可以採取以下幾種優化措施
匯入的資料按主鍵順序排序儲存。因為innodb引擎按主鍵順序儲存,如果能提前將插入的順序排序能省去很多時間。
匯入資料前執行 set unique_checks=0,關閉唯一性校驗,在匯入之後再設定為1。因為校驗會耗費時間。
匯入前設定 set autocommit=0,關閉自動提交,匯入結束後再設定為1;因為自動提交會消耗部分時間資源。
insert的優化
盡量使用多個值表的insert語句,可以縮減客戶端與資料庫之間的連線、關閉等消耗。 insert into tablename values(1,2),(1,3),(1,4);
如果在不同客戶端插入很多行,可使用insert delayed 語句得到更高的速度,讓insert語句馬上執行。
將索引檔案和資料檔案分在不同的磁碟上存放(innodb是在同乙個表空間)
批量插入,可以增加bluk_insert_buffer_size變數值提供速度。(只對myisam有用)
當從乙個文字檔案裝載乙個表時,使用load data infile,通常比insert語句快20倍。
參考:
插入式 注入技巧
例 試著在newsid 3255後面插入 結果報錯。microsoft ole db provider for sql server 錯誤 80040e14 字串 之前有未閉合的引號。明顯存在注入漏洞,還是sql資料庫 無法動用工具查。這點寫工具的人,貌似很容易新增這個功能。分析了一下 上面這類 的...
批量插入sql技巧
方式一 insert into insert table datetime uid content type values 0 userid 0 content 0 0 insert into insert table datetime uid content type values 1 useri...
插入排序 優化技巧
插入排序的基本寫法如下 function insertsort arr arr j 1 key return arr 怎麼優化插入排序呢?因為每次都要維護乙個已排序的列表,如果有新的元素進來,就要依次對比大小,關於查詢我們的優化策略是通過二分查詢的方法找到元素需要插入的位置即可。function i...