MySQL常見的SQL的優化大批量插入資料

2021-10-05 12:09:35 字數 696 閱讀 1966

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...