MySQL資料庫優化

2021-08-18 17:41:29 字數 935 閱讀 2249

適度違反三大正規化

遵循三大正規化後續查詢經常使用join,導致查詢效率降低,結合業務需求適當做資料冗餘。

適度建立索引

建立索引規則:

a.索引的字段必須是經常用來作為查詢條件的字段,where

b.如果是多個欄位的情況,第乙個字段要是經常作為查詢條件的

c.索引的字段必須有足夠的區分度

對錶進行水平劃分

每年產生100萬條資料,按年或月對資料進行區分建表 user_2016,user_2017

對錶進行垂直劃分

某張表中有很多字段,或某個欄位很長,io消耗大,根據業務需求適當劃分為多個表

選擇適當字段型別

寧可集中批量操作也不可頻繁讀寫

選擇合適的引擎

字段資料型別的選擇,能使用數字型欄位的盡量使用數字型

盡量避免大事物操作,索引優化

慢日誌、explain

【避免全表掃瞄】,考慮在where和order by 子句中建立索引

盡量避免在where子句中使用null,會放棄索引,進行全表掃瞄

盡量避免在where子句中使用運算子(!=、<>)或函式(year())

避免使用or,會走全表掃瞄,union all

能使用between就不要使用in

like盡量避免使用%%,不會走索引,d%會走索引

查詢時盡量避免使用select *,僅列出需要查詢的字段

join的操作,小結果驅動大結果

分頁查詢時,基數比較大時,不要使用limit,盡量換成between

連線型別 效率從高到低,建議不小於range

systme>

const

>eq_ref>

ref>fulltext>ref_or_null>index_merge>unique_subquery>index_subquery>range>index>all

mysql資料庫優化索引 mysql資料庫索引調優

一 mysql索引 1 磁碟檔案結構 innodb引擎 frm格式檔案儲存表結構,ibd格式檔案儲存索引和資料。myisam引擎 frm格式檔案儲存表結構,myi格式檔案儲存索引,myd格式檔案儲存資料 2 mysql資料庫資料範問原理 innodb btree 1 ibd檔案中主鍵構建b tree...

mysql資料庫優先 MySQL資料庫優化

1.新增索引 mysql資料庫的四類索引 index 普通索引,資料可以重複,沒有任何限制。unique 唯一索引,要求索引列的值必須唯一,但允許有空值 如果是組合索引,那麼列值的組合必須唯一。primary key 主鍵索引,是一種特殊的唯一索引,乙個表只能有乙個主鍵,不允許有空值,一般是在建立表...

mysql資料庫優化

用到啥學啥,mysql資料庫優化成了這幾天的老大難問題。瘋狂的尋找mysql優化的資料,覺得有用的不少,記錄下跟大家分享,對了,這裡僅僅是mysql資料庫本身的優化,沒有寫磁碟之類的 開始之前,介紹倆mysql的命令 show global status 檢視執行狀態的,顯示執行各種狀態值 show...