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

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次方
   
   
   普通索引
   一般来说,普通索引的创建,是先创建表,然后在创建普通索引。
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会编程的阿强

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值