sql執行過程解析 索引 優化 鎖

2021-10-21 17:24:10 字數 415 閱讀 8979

將from後面的資料庫表檔案載入到記憶體

如果有where,則對錶進行過濾,取出符合條件的資料並生成一張臨時表,(where是對從資料庫表檔案載入到記憶體中的原生資料過濾)

若果有group by,則將表按條件進行分隔,分隔成若干個臨時表

select執行讀取時,按有無group by兩種情況:

a) 沒有group by,select會根據後面的欄位名稱,對記憶體中的臨時表整列讀取

b) 有group by,會對記憶體中的若干臨時表分別執行select,而且只取各臨時表的第一條資料,然後形成新的臨時表

索引種類

觸發索引

索引的缺點

mysql的優化

使用執行計畫:

選取最適用的字段屬性

使用聯合查詢來代替子查詢

鎖 悲觀鎖

sql優化過程 執行計畫

1 什麼是sql執行計畫 sql執行計畫,就是一條sql語句,在資料庫中實際執行的時候,一步步的分別都做了什麼。就是我們用explain分析一條sql語句時展示出來的那些資訊 2 sql執行計畫的作用 sql執行計畫的意義就在於我們可以通過執行計畫更加清晰的認識到這一條語句,分為了哪幾步,有沒有用到...

SQL優化 索引優化

一 發現哪些sql語句有效能問題 開啟mysql慢查詢日誌對sql語句進行監控 show variables like slow query log 檢視是否開啟慢查詢日誌 set global slow query log on 開啟慢查詢日誌 set global log queries not...

SQL優化(SQL 索引)

檢視表定義 show create table users 檢視表的索引 show index from users 你要獲取第乙個表的所有資訊,你說全表掃瞄快呢還是索引掃瞄快呢?所以當你查詢庫 包括left join中的臨時庫 的所有資訊時,資料庫會選擇最優方法 全表掃瞄!s表dept id na...