欢迎投稿

今日深度:

(7)mysql索引的设计和使用,mysql索引设计

(7)mysql索引的设计和使用,mysql索引设计


概述

  索引用于快速找出在某个列中有一特定值的行。不使用索引,MySQL必须从第1条记录开始然后读完整个表直到找出相关的行。表越大,花费的时间越多。如果表中查询的列有一个索引,MySQL能快速到达一个位置去搜寻到数据文件的中间,没有必要看所有数据。
  在MySQL中所有的类型数据列都可以被索引,对相关列使用索引是提高select操作性能的最佳途径。MyISAM和InnoDB存储引擎的表默认创建索引都是BTREE索引。MyISAM还支持全文本索引,该索引可以用于创建全文搜索。默认情况下, MEMORY存储引擎使用HASH索引,但也支持BTREE索引。

设计索引原则

说明:

创建表(friends)
这里写图片描述
创建(uid和fuid的复合索引)。

  • 对第4条说明:
    最左前缀法则
    第2条语句,从索引的第二列开始查找,使用索引失败,导致MySQL采用ALL访问策略,即全表查询.在开发中,应该尽量避免全表查询。
  • 对第7条说明:
    索引不能使用表达式或函数
    第2和3条语句都有使用表达式,索引派不上用场。

参考

参考1:http://thephper.com/?p=142
参考2:http://my.oschina.net/longniao/blog/110384

www.htsjk.Com true http://www.htsjk.com/shujukunews/7418.html NewsArticle (7)mysql索引的设计和使用,mysql索引设计 概述   索引用于快速找出在某个列中有一特定值的行。不使用索引,MySQL必须从第1条记录开始然后读完整个表直到找出相关的行。表越大,花...
评论暂时关闭