网管联盟 | 网管论坛 | 网管u家 | 网管博客 | 网管软件 | 网管求职 | 小游戏 | 网管搜索 | 网管原创 | 网管聚合 | 网管读摘 | 网管焦点 | 世界素材 | 会员投稿 | 会员中心 
中国网管联盟
Windows Linux Cisco 网络技术 数据库 黑客攻防 DotNet Java PHP 认证 新闻资讯 服务器 存储资讯 网络设备 网管学堂 技术专题 焦点 网吧频道
 当前位置: > bitsCN.com > 数据库技术 > Oracle > 性能调优 > MySQL数据库优化(六)-性能调优  

MySQL数据库优化(六)-性能调优

2008-06-14  作者:bitsCN整理  来源:中国网管联盟  点评 投稿 收藏

 

  如果表里有一个多字段索引的话,那么该索引的任何最左前缀部分都可以被优化程序用来检索记录。例如,在 (col1, col2, col3) 上有一个索引,那么按字段组合 (col1), (col1, col2), 和 (col1, col2,col3) 搜索的时候都会用到索引。 网管有家bitscn.net

  MySQL无法使用非最左前缀索引中的部分索引。假如有以下 SELECT 语句:

网管网www.bitscn.com


  SELECT * FROM tbl_name WHERE col1=val1;
  SELECT * FROM tbl_name WHERE col2=val2;
  SELECT * FROM tbl_name WHERE col2=val2 AND col3=val3;
网管网www.bitscn.com

  如果在 (col1, col2, col3) 上有一个索引,只有第一个查询用到索引了。第二和第三个尽管包括了索引字段,但是 (col2) 和 (col2, col3) 并非索引 (col1, col2, col3) 的最左前缀部分。

中国网管论坛bbs.bitsCN.com

  当对字段做 =, >, >=, <, <=, 或 BETWEEN 比较操作时,也会用到索引。 网管u家u.bitscn@com

  MySQL在做 LIKE 比较时也可能用到索引,如果 LIKE 的参数是非通配字符开始的固定字符串的话。以下的 SELECT 语句就用到了索引: 网管下载dl.bitscn.com


  SELECT * FROM tbl_name WHERE key_col LIKE 'Patrick%';
  SELECT * FROM tbl_name WHERE key_col LIKE 'Pat%_ck%';
网管bitscn_com

  第一个查询中,只有的 'Patrick' <= key_col < 'Patricl' 记录才会被检索到。第二个查询中,只检索 'Pat' <= key_col < 'Pau' 的记录。 网管论坛bbs_bitsCN_com

  以下 SELECT 语句不使用索引:

网管u家u.bitsCN.com


  SELECT * FROM tbl_name WHERE key_col LIKE '%Patrick%';
  SELECT * FROM tbl_name WHERE key_col LIKE other_col;
中国网管联盟bitsCN.com

  第一个语句中,LIKE 的参数是以通配符开始的。第二个语句中,LIKE 的参数不是一个常值。

网管有家bitscn.net

  MySQL 4.0及更高会做一个额外的 LIKE 优化。如果使用 ... LIKE '%string%' 并且 string 超过3个字符,MySQL就会用 Turbo Boyer-Moore 算法来初始化模式,并且利用这个模式来加快搜索。 网管u家bitscn.net

  用 col_name IS NULL 搜索时也会使用索引,如果字段 col_name 上有索引的话。 网管网www.bitscn.com

  任何在 WHERE 子句中没有跨越全部 AND 级分句的索引都不会用来优化查询。换言之,想要启用一个索引,那么在任何 AND 分句中都必须使用索引的前缀字段。 网管u家www.bitscn.net

  以下 WHERE 子句使用索引:

网管联盟bitsCN_com

网管下载dl.bitscn.com

TAGs   性能   优化   数据库   索引       记录   使用   WHERE    如果      
 上一篇:MySQL数据库优化(五)-性能调优   下一篇:MySQL数据库优化(七)-性能调优
MySQL数据库优化(六)-性能调优 评论:
loading.. 评论加载中…
评论:请自觉遵守互联网相关政策法规,评论不得超过250字。

验证码: 注册用户
本类热门排行:
最新推荐文章:
网管论坛交流: