MySQL作為一個關系型數據庫系統,使用索引是極其重要的。加索引能提高查詢效率,減輕數據庫的壓力。
在MySQL中,常見的索引有普通索引、唯一索引、全文索引和主鍵索引。下面舉例說明如何加索引。
# 創建一個表 CREATE TABLE student( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(20) NOT NULL, age TINYINT NOT NULL, address VARCHAR(50), PRIMARY KEY (id) ); # 插入數據 INSERT INTO student (name, age, address) VALUES ('Tom', 18, 'Beijing'); INSERT INTO student (name, age, address) VALUES ('John', 20, 'Shanghai'); INSERT INTO student (name, age, address) VALUES ('Lucy', 19, 'Beijing'); INSERT INTO student (name, age, address) VALUES ('Lily', 20, 'Guangzhou');
1. 普通索引
普通索引是最基本的索引類型。最常見的方式是在需要進行查詢的字段上加上索引。
# 給address字段加上普通索引 CREATE INDEX idx_address ON student(address); # 執行查詢操作 SELECT * FROM student WHERE address='Beijing';
2. 唯一索引
唯一索引保證字段的值是唯一的。在需要保證數據唯一性的字段上加上唯一索引。
# 給name字段加上唯一索引 ALTER TABLE student ADD UNIQUE INDEX idx_name ON name; # 執行插入操作 INSERT INTO student (name, age, address) VALUES ('Tom', 18, 'Hangzhou'); # 顯示錯誤信息,因為name=Tom的記錄已經存在。
3. 全文索引
全文索引用于對文本進行搜索。在對文本字段進行模糊查詢時,使用全文索引可以提高查詢效率。
# 給address字段加上全文索引 ALTER TABLE student ADD FULLTEXT INDEX idx_address ON address; # 執行查詢操作 SELECT * FROM student WHERE MATCH(address) AGAINST('Beijing' IN NATURAL LANGUAGE MODE);
4. 主鍵索引
主鍵索引是最常用的索引類型,它保證每個記錄都有唯一的標識符。在創建表時,需要為每個記錄定義一個唯一的主鍵。
# 創建表時已經定義了主鍵索引 CREATE TABLE student( id INT NOT NULL AUTO_INCREMENT, name VARCHAR(20) NOT NULL, age TINYINT NOT NULL, address VARCHAR(50), PRIMARY KEY (id) );
上述是mysql加索引例子的詳細介紹,加索引有助于提高查詢效率,但是如果加索引不當,也會帶來負面影響。因此在實際使用中,需要根據具體情況來選擇適當的索引類型,避免無謂的索引。
上一篇vue封裝組件復用
下一篇mysql加索引導致鎖表