欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

mysql索引--(mysql学习二)_MySQL

程序员文章站 2022-03-17 19:24:31
...
bitsCN.com

mysql索引--(mysql学习二)

索引类型:

普通类型索引

primary key

foreign key

unique index

non-unique

专业索引:

--b-tree 平衡数索引,有别于二叉树.二叉树高度可能很高平衡树不会很高一般3、4层.

b+tree b-tree是逻辑叫法,b+tree是技术实现.有一部分存储在内存不够时会放到磁盘上.(innodb、MyISAM、Memery等)

r-tree 空间索引(MyISAM)

full text全文索引.(MyISAM)

hash index(Memery)

索引目的:

减少I/O,会提供查询速度,会影响dml速度.

选择性:返回行占整个记录的比例

索引类型:前缀索引、复合索引、函数索引的变通(通过增加列和触发器实现)、全文索引

复合索引:oracle有index skip算法可以使不是引导列的索引被使用.mysql必须按照定义顺序使用复合索引.

全文索引:主要是查询单词. ...where match(列) aginst('字符' in 模式).有3中模式boolean(支持运算符表达式)、自然语言、扩展自然语言.

select title from books where mathc(title) against('prince')

select title,author from books where match(title) against('green +Anne' in boolean mode);--in natural language mode/with query expansion

--查看执行计划

explain select * from t where year(d) >1994/G

select_type:subquery(使用子查询)、dependent subquery(关联子查询)、derived(子查询作为from,内嵌视图)、

simple(简单查询)

union(使用了union)

查看某个表的索引:

show index from [tb_name]/G

bitsCN.com