MySQL資料庫優化(三)

2021-07-25 11:44:34 字數 1075 閱讀 6022

## 索引優化 ##
一、如何選擇合適的列建立索引

在where從句,group by 從句,on從句中出現的列

索引字段越小越好

離散度大的列放到聯合索引的前面

select *from payment where staff_id=2

and customer_id=369;

由於customer_id的離散度更大,所以應該使用index(customer_id,staff_id)

二、索引優化sql方法

索引的維護及優化:重複及冗餘索引

重複的索引是指相同的列以相同的順序建立的同型別索引,如下所示:

primary和id列上的索引就是重複索引

create

table test(

id int

null

primary

key,

name varchar(10) not

null,

tittle varchar(50) not

null,

key(name,id)

)engine=innodb;

檢查索引是否冗餘:

使用工具pt-duplicate

-key

-checker檢查重複及冗餘索引

pt-duplicate

-key

-checker

\-u root\

-p 『』\密碼

-h127.0

.0.1

三、索引維護的方法

目前mysql中還沒有記錄索引的使用情況,但是在perconmysql和mariadb中可以通過index_statistics表來檢視哪些索引未使用,但在 mysql中目前只能通過慢查詢日誌配合pt-index-usage工具來進行索引使用情況分析。

pt-index-usage\

-uroot -p』』\

mysql_slow.log

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