MySQL索引相关

MySQL添加索引:

使用某数据库 scheam

use ua;

show tables;

查看表结构

  desc ua.log;

查看索引

  show index from ua.log;

添加组合索引

  ALTER TABLE `log` ADD INDEX index_log_type ( `log_type`, `op_type`, `is_deleted`,`created_dt`);

  ALTER TABLE `log` ADD INDEX index_op_type ( `op_type`, `log_type`, `is_deleted`,`created_dt`);

 删除索引

  alter table `ua`.`log` drop index index_op_type;

  -- drop index index_name on table_name ;

  -- alter table table_name drop index index_name ;

  -- alter table table_name drop primary key ;

 添加单列索引

  ALTER TABLE `log` ADD INDEX index_op_type (`op_type`);

添加主键索引

  alter table `log` add primary key (`id`);

添加唯一索引

  alter table `ua`.`log` add unique (`id`);

 添加普通索引

  alter table `ua`.`log` add index index_opt_type (`op_type`);

 添加全文索引

  alter table `ua`.`log` add fulltext full_remark (`remark`);

添加多列索引或者组合索引

  alter table `ua`.`log` add index index_op_type ( `op_type`, `log_type`, `is_deleted`,`created_dt`);

 

主键索引&唯一索引&组合索引&普通索引 设置索引类型BTREE

全文索引   设置索引类型 FULLTEXT

-- explain select * form log;
执行计划:
-- key_len : MySQL中使用索引字节长度
-- key 真实使用的key
-- rows : mysql 预估为了找到所需的行而要读取的行数
-- possible_keys : 可能使用的索引

 

未加索引情况
explain select * from log t where t.op_code1='2231' and t.op_code2='2';

主键索引&唯一索引
explain select * from log t where t.id='186451';

 

posted @ 2021-07-05 14:08  干饭人~  阅读(49)  评论(0编辑  收藏  举报