枫林在线>>技术交流>>讨论区 [快速回复] [上一主题] [下一主题] Database/(数据库)
[34321] 主题: 如何在数据库中使用索引
作者: leaflet 标题: 如何在数据库中使用索引
昵称: Leaf闭关中… 来自: 202.109.*.*
经验值: 40040 发贴时间: 2002年12月26日 18:27:53 (UTC +08:00)
等级: 论坛砥柱 长度: 849字
建索引的目的是为了更好的查询,但是不要盲目建索引,有时候适得其反。
遵循这样的原则:
1.搜索的索引列,不一定是索要选择的列
  例如:select col_a from tbl1 left join tbl2 on   tbl1.col_b=tbl2.col_c
  where col_d=expr
在这查询重视合作索引列的是tbl1.col_b and tbl2.col_c and col_d
2.使用唯一索引:对于唯一值的列,索引的效果最好,而具有多个重复值的列
  其索引效果最差。
3.使用短索引:应该指定一个前缀的长度,只要有可能就应该这样做
  例如:varchar(100)列,对前10个或者20个字符内,多数值是唯一的那就不要对整个列索
引。
4.利用最左索引:在创建n列的索引时,实际是创建了mysql可利用的n个索引,多列索引可
以起几个索引的作用,因为可以利用索引中最左边的列集来匹配。
 ps: mysql不能使用不涉及左前缀的搜索。
5.不要过渡索引:
  每个额外的索引都是要占额外的磁盘空间,并降低写操作的性能。
6.考虑在列上进行比较的类型:
  索引可用于"<"、"<="、"="、">="、">"和 between 运算。


========== * * * * * ==========
每页条 |◀ ◀ 第/1页 ▶ ▶|
Top

| 用户注册 | 密码重置 | 在线用户 | 常见问题 |

Copyright © 2001-2025 枫林在线(www.FengLin.info) All Rights Reserved
时间显示基于用户时区设置:Asia/Shanghai (UTC +08:00)
页面运行使用60.18毫秒