mysql索引类型normal,unique,full text

问题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


进阶:

1. 理解Mysql索引与优化: http://www.cnblogs.com/hustcat/archive/2009/10/28/1591648.html

2. mysql索引背后的数据结构与原理   http://dotnet.cnblogs.com/page/151329/

3. 索引采用的数据结构 B-Tree  http://kb.cnblogs.com/page/45712/


转载于:http://blog.csdn.net/cuidiwhere/article/details/8452997

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当然可以。我可以为您提供关于MySQL中不同类型索引的信息和创建方法。 1. 普通索引(Normal Index):这是最基本的索引类型,它对数据库表中的每一列都创建了一个索引。当查询时,MySQL会使用这些索引来加速查询。 2. 唯一索引Unique Index):唯一索引要求索引列的值必须唯一,但可以有空值。如果一个表中已经存在该列的唯一索引,插入新行时如果该列的值与其他行重复,则会阻止插入操作。 3. 全文索引(Full-Text Index):全文索引是一种特殊的索引类型,主要用于全文搜索。它基于MyISAM和MyISAM结合的InnoDB存储引擎。对于使用全文搜索的列,可以使用全文索引。全文索引可以提高对文本和短语进行精确和近似搜索的能力。 4. 组合索引(Composite Index):组合索引是一种索引,其中多个列被组合成一个索引。通过使用多个列来创建索引,可以增加搜索速度,特别是在面对包含多个列的复杂查询时。 5. 哈希索引(Hash Index):MySQL中没有直接的全哈希索引,但是有类似功能的B+树(Balanced B-Tree)和哈希表(Hash Table)的混合存储引擎如MEMORY存储引擎和TokuDB引擎。哈希表可以快速定位到数据的位置,但无法像B+树那样支持范围查询。 要创建这些类型索引,您可以使用MySQLALTER TABLE语句或CREATE TABLE语句中的INDEX关键字。以下是一些示例: * 创建普通索引: ```sql ALTER TABLE table_name ADD INDEX index_name (column_name); ``` * 创建唯一索引: ```sql ALTER TABLE table_name ADD UNIQUE INDEX index_name (column_name); ``` * 创建全文索引: 注意:全文索引仅在支持的存储引擎中可用。对于InnoDB存储引擎,您需要使用支持全文搜索的函数或插件(如MyISAM结合InnoDB)。 * 创建组合索引: ```sql ALTER TABLE table_name ADD INDEX index_name (column1, column2, ...); ``` * 对于哈希索引,您需要使用特定的存储引擎,如MEMORY或TokuDB。这些存储引擎可能需要特殊的配置和安装步骤。 请注意,创建索引可能会增加数据库的存储开销,并可能降低插入、更新和删除操作的性能。因此,在创建索引时,请务必权衡这些因素。在大型数据库中,通常建议对经常用于查询条件的列创建索引
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值