如何理解并正确使用 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);


猜你喜欢

转载自blog.51cto.com/13959004/2301427