|
|
|
|
Blog信息
|
blog名称:四裤全输的小窝~~ 日志总数:178 评论数量:699 留言数量:198 访问次数:1165926 建立时间:2005年10月29日 | |
|
|
|
|
 |
|
|
|
|
[database]oracle 索引建立的若干原则
文章收藏, 网上资源, 软件技术, 电脑与网络 四裤全输 发表于 2006/6/9 13:21:22
|
转自:http://www.cnoug.org/viewthread.php?tid=61523我们首先要考虑的是数据量,数据量级别的不同,要考虑的问题有很大区别。几千条记录建不建索引其实都无所谓了,差个几豪秒也感觉不出来,但数据量一旦要增长到百万, 千万级别,索引的重要性就体现出来了。没有索引一个查询可能要几个小时甚至几天才能出来,对数据库的影响不仅仅是查询速度的降低, 在io 上的花费和对数据库连接资源的占用甚至会拖跨数据库。那么怎样建立索引,建立什么类型的索引呢,应该按照几个方面来考虑。1. 先要了解业务需求,总结出应用会按照哪几个字段来进行查询。例如一个人员查询系统可能会按照(姓名,身份证件号码,性别,住址,民族等),当然可能是几个字段的组合查询。2. 确定了第一步后要估计数据的分布。相同值有多少,是不是均匀。如姓名字段就会有大量的重复情况;性别可能只有两个值(1,2 分别代表男,女),民族会有56 个。3. 确定索引的类型。选择性高的字段建立B- 树索引最好,如果数据量太大,可考虑把索引分区,在并发情况下通常会表现很好。相当于把一棵很大的B树拆开成了多棵小树。只有几个值的字段如性别并且数据分布比较均匀,查询的平均命中率要是非常高就不需要建立索引,否则可以建立位图索引(但会影响并发)。
|
阅读全文(3167) | 回复(0) | 编辑 | 精华 |
|
|
|
|
|
|
|