数据库索引

索引的思想是用空间换时间, 缺点如果数据量太大,过多索引占用大量磁盘空间,所以一般只对关键字段,经常需要检索的字段设置索引。
在这里插入图片描述

  • 索引的创建和删除
alter table 'table_name' add index index_name('column')
drop index index_name on 'table_name'
  • 工具对索引的支持
    在这里插入图片描述

索引方式,也是索引的数据结构

  • BTREE是用树形结构存储索引信息,大部分数据库系统及文件系统都采用B-Tree或其变种B+Tree作为索引结构。
  • HASH结构也可以用作索引存储结构,HASH 可以理解成java中map或者python中字典,key-value结构,sql语句中 =或者 != 用HASH索引性能其实比BTREE高,为什么数据库一般默认还是BTREE,主要支持更复杂的表达式 比如BETWEEN等操作。

索引类型也叫索引种类,为了满足业务

  • 唯一索引:加速查询 + 列值唯一(可以有null)
  • 主键索引:加速查询 + 列值唯一(不可以有null)+ 表中只有一个
  • 组合索引:多列值组成一个索引,专门用于组合搜索,其效率大于索引合并
  • 全文索引:对文本的内容进行分词,进行搜索 (高级版本新特性)
  • 对应的脚本
1.PRIMARY  KEY(主键索引)
mysql>ALTER  TABLE  `table_name`  ADD  PRIMARY  KEY (  `column`  ) 
2.UNIQUE(唯一索引)
mysql>ALTER  TABLE  `table_name`  ADD  UNIQUE (`column` ) 
3.INDEX(普通索引)
mysql>ALTER  TABLE  `table_name`  ADD  INDEX index_name (  `column`  )
4.FULLTEXT(全文索引)
mysql>ALTER  TABLE  `table_name`  ADD  FULLTEXT ( `column` )
5.多列索引
mysql>ALTER  TABLE  `table_name`  ADD  INDEX index_name (  `column1`,  `column2`,  `column3` )
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值