MySql Index

1.索引类型

  • 主键索引(primary key)
  • 唯一索引(unique)
  • 普通索引(可以有多列):CREATE INDEX index_name ON table_name (column_list)
  • 全文索引
  • 空间索引

2.查看索引

  •   show index from tblname;
  •   show keys from tblname;
  •   desc tblname(不能显示索引名)

3.删除索引

  • DROP INDEX index_name ON talbe_name
  • ALTER TABLE table_name DROP INDEX index_name
  • ALTER TABLE table_name DROP PRIMARY KEY

4.创建索引

  •  ALTER TABLE table_name ADD INDEX index_name (column_list)
  • ALTER TABLE table_name ADD UNIQUE (column_list)
  • ALTER TABLE table_name ADD PRIMARY KEY (column_list)
  •  
  • CREATE INDEX index_name ON table_name (column_list)
  • CREATE UNIQUE INDEX index_name ON table_name (column_list)

5.索引的算法:BTREE log2n(查询效率)

 

6.存储引擎

  • myisam              BTree
  • innodb               BTree
  • memory/heap     Hash,BTree

 

 

7.索引适合

  •   肯定在where条件经常使用
  •   该字段的内容不是唯一的几个值(如sex)
  •   字段内容不是频繁变化

8.索引注意事项

  • 对于创建的多列索引,只是查询条件条件最左边的列,索引一般都会使用
  • 对于使用like的查询,查询如果是‘%关键字’,便不会使用索引(空间索引代替),‘关键字%’却会使用索引

9.使用索引的缺点:

  • 磁盘占用
  • 对dml(update,delete,insert)语句的效率影响(索引二叉树重新调整->dml变慢)

10.查询数据库信息

  • show status 
  • show status like 'connection'  查询连接数
  • show status like 'com_select'  查询次数
  • show status like 'com_update' 
  • show status like 'com_insert'
  • show [session|global] status like ...默认的是session 

10.sql的执行过程

  •  编译-->执行-->缓存
  • 存储过程比sql语句效率高。但sql比存储过程易移值

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值