关系数据库中,索引的作用主要有哪些,一般什么情况下需要建索引?并简述索引都有哪几种类型,有何区别
提高查询速度,有利于排序和分组. (排序和分组如用不上索引,则会产生临时表和filesort的过程)
根据业务逻辑,分析列查询的频度和顺序, 建立索引和复合索引.
主键索引(primary key), ---->不需要有索引名,因为只有一个主键索引
唯一索引(unique key)
---->unique key email(email(10))
括号里面是表字段,外面是索引名字,其他索引一样
里面的10是指索引的长度,如1234567899@qq.com,只取出了前面10个字符做索引
普通索引(key),
全文索引(fulltext key)--->中文环境下基本无效,一般用第三方方案如sphinx(中文分词)
多列索引:key xm(xing,ming)用xing和ming两个字段做索引
冗余索引:在某个字段上有多个索引,如 key xm(xing,ming) ,key m(ming),有两个 就是冗余索引
小绵羊