如何理解並正確使用 MySQL 索引

1、概述

索引是存儲引擎用於快速查找記錄的一種數據結構,通過合理的使用數據庫索引可以大大提高系統的訪問性能,接下來主要介紹在MySql數據庫中索引類型,以及如何創建出更加合理且高效的索引技巧。

注:這裏主要針對的是InnoDB存儲引擎的B+Tree索引數據結構

2、索引的優點

1、大大減輕了服務器需要掃描的數據量,從而提高了數據的檢索速度

2、幫助服務器避免排序和臨時表

3、可以將隨機I/O變爲順序I/O

3、索引的創建

3.1、主鍵索引

 

 

1

ALTER TABLE 'table_name' ADD PRIMARY KEY 'index_name' ('column');

3.2、唯一索引

 

 

1

ALTER TABLE 'table_name' ADD UNIQUE 'index_name' ('column');

3.3、普通索引

 

 

1

ALTER TABLE 'table_name' ADD INDEX 'index_name' ('column');

3.4、全文索引

 

 

1

ALTER TABLE 'table_name' ADD FULLTEXT 'index_name' ('column');

3.5、組合索引

 

 

1

ALTER TABLE 'table_name' ADD INDEX 'index_name' ('column1', 'column2', ...);

 

4、B+Tree的索引規則

創建一個測試的用戶表

 

 

1

2

3

4

5

6

7

8

DROP TABLE IF EXISTS user_test;

CREATE TABLE user_test(

id int AUTO_INCREMENT PRIMARY KEY,

user_name varchar(30) NOT NULL,

sex bit(1) NOT NULL DEFAULT b'1',

city varchar(50) NOT NULL,

age int NOT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

創建一個組合索引: ALTER TABLE user_test ADD INDEX idx_user(user_name , city , age);


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章