问题1: mysql索引类型normal,unique,full text的区别是什么?
normal:表示普通索引
unique:表示唯一的,不允许重复的索引,如果该字段信息保证不会重复例如身份证号用作索引时,可设置为unique
full textl: 表示 全文搜索的索引。 FULLTEXT 用于搜索很长一篇文章的时候,效果最好。用在比较短的文本,如果就一两行字的,普通的 INDEX 也可以。
总结,索引的类别由建立索引的字段内容特性来决定,通常normal最常见。
详细信息参考:http://blog.sina.com.cn/s/blog_887d00920100wgf3.html
问题2: 在实际操作过程中,应该选取表中哪些字段作为索引?
为了使索引的使用效率更高,在创建索引时,必须考虑在哪些字段上创建索引和创建什么类型的索引,有7大原则:
1.选择唯一性索引2.为经常需要排序、分组和联合操作的字段建立索引3.为常作为查询条件的字段建立索引4.限制索引的数目5.尽量使用数据量少的索引6.尽量使用前缀来索引7.删除不再使用或者很少使用的索引****
详细信息参考:http://blog.sina.com.cn/s/blog_887d00920100wgf1.html
进阶:
- 理解Mysql索引与优化: http://www.cnblogs.com/hustcat/archive/2009/10/28/1591648.html
- mysql索引背后的数据结构与原理 http://dotnet.cnblogs.com/page/151329/
- 索引采用的数据结构 B-Tree http://kb.cnblogs.com/page/45712/