16-mysql数据库优化之普通索引的创建

时间:2022-05-27 08:32:25
1.通过explain语句可以分析,mysql如何执行你的sql语句。
2.索引
   1.添加
    1.1主键索引添加
    当一张表,把某个列设为逐渐的时候,则该列就是主键索引。
    create table aaa(id int unsigned primary key auto_increment,
name varchar(32) not null default '');

如果创建表的时候,没有指定主键索引,可以在创建后再添加。
alter table aaa add primary key (id);
   2.查询
    1. desc  表名可以查看表结构,但缺点是不能显示索引的名字。
      +-------+------------------+------+-----+---------+----------------+
| Field | Type             | Null | Key | Default | Extra          |
+-------+------------------+------+-----+---------+----------------+
| id    | int(10) unsigned | NO   | PRI | NULL    | auto_increment |
| name  | varchar(32)      | NO   |     |         |                |
+-------+------------------+------+-----+---------+----------------+
    2. show index(es) from 表名 \G;    \G格式好看  (但是\G在这里不起作用)
     index和index(es)的作用是相同的。
    3.show keys  from aaa;
   
   
   根据之前的上一篇文章的进度,进行优化
   
   给主键添加索引
   alter table emp add primary key (empno); 
   然后再继续执行
   select * from emp where empno=232323;
   会看到速度非常的快。
   
   
    为什么创建了索引之后,查询的速度就变快了呢?
   因为原先检索是从第一条开 一个一个进行检索,然后下一个下一个。。。
   加了索引的是使用 二叉树算法进行查询。
   检索次数为log2^n次方
    16-mysql数据库优化之普通索引的创建
   
   普通索引
   一般来说,普通索引的创建,是先创建表,然后在创建普通索引。