1.大批量插入資料時候
1.第一種
// 當我們使用load命令大量匯入資料的時候,可以修改設定提高匯入速度。
// 關閉
alter
table 表名 disable
keys
;// 開啟
alter
table 表名 enable
keys
;// 解釋:disable keys和enable keys用來開啟或者關閉myisam非唯一索引的更新。
load
data
infile
'檔案路徑'
into
table 表名;
2.第二種// innodb 是按照主鍵順序儲存的,所以匯入時候資料按照順序主鍵排列匯入就可以提高的匯入的效率。
// 常見的設定,關閉唯一性進行匯入
set unique_check=0;
// 在匯入完成之後我們就可以開啟這個了
set unique_check=
1;
3.第三種// 在innodb中匯入資料的時候可以關閉自動提交
// 關閉
set autocommit =0;
// 開啟
set autocommit =
1;
mysql常見的SQL優化策略
1 避免全表掃瞄 對查詢進行優化應該盡量避免全表掃瞄,應該考慮在where和order by會涉及的列上新增索引。2 避免判斷null值 應該盡量避免where語句中進行null值判斷,否則會引起引擎放棄使用索引而進行全表掃瞄,例如select from table where num is nul...
mysql大表更新sql的優化策略
問題sql背景 專案有6個表的要根據pid欄位要寫入對應的brand id欄位。但是這個其中有兩個表是千萬級別的。我的worker執行之後,線上的mysql主從同步立刻延遲了!執行了乙個多小時之後,居然延遲到了40分鐘,而且只更新了十幾萬行資料。問題sql如下 根據商品id更新品牌id id upd...
mysql大表更新sql的優化策略
問題sql背景 專案有6個表的要根據pid欄位要寫入對應的brand id欄位。但是這個其中有兩個表是千萬級別的。我的worker執行之後,線上的mysql主從同步立刻延遲了!執行了乙個多小時之後,居然延遲到了40分鐘,而且只更新了十幾萬行資料。問題sql如下 update tablename se...