数据库建立索引要点
2012-11-27 11:09
155 查看
索引采用B* tree存储。insert、update、delete在B* tree添加节点需要调整B* tree的结构,故会很慢,添加适当。
另外对于查询,最好的索引就是唯一性,一次即可定位,对于重复数据很多的列不合适简建立索引,因为过滤后数据量仍然很大,先走索引在走表,故很慢。
字段的可选择性非常差,使用索引比全表还慢。因为要先跑一遍索引。然后根据没消除几个记录的索引再跑差不多半个全表,结果还不如直接全表。这里添加(web,city)复合索引比较合适。
是否使用索引,如何使用索引。要根据你查询的条件、返回结果、数据分布、具体数据库来综合考虑。而且每增加一个索引,都会对INSERT、UPDATE、DELETE的效率产生影响,所以并不是越多越好。
另外对于查询,最好的索引就是唯一性,一次即可定位,对于重复数据很多的列不合适简建立索引,因为过滤后数据量仍然很大,先走索引在走表,故很慢。
字段的可选择性非常差,使用索引比全表还慢。因为要先跑一遍索引。然后根据没消除几个记录的索引再跑差不多半个全表,结果还不如直接全表。这里添加(web,city)复合索引比较合适。
是否使用索引,如何使用索引。要根据你查询的条件、返回结果、数据分布、具体数据库来综合考虑。而且每增加一个索引,都会对INSERT、UPDATE、DELETE的效率产生影响,所以并不是越多越好。
相关文章推荐
- 数据库索引-建立索引的判断标准
- [转]用Lucene.net对数据库建立索引及搜索
- 使用Apache Solr对数据库建立索引(包括处理CLOB、CLOB)
- 数据库建立索引前后的性能分析
- 用Lucene[1].net对数据库建立索引及搜索+
- 用Lucene.net对数据库建立索引及搜索<转>
- 对一大表(百万级以上)建立索引时应当注意的事项及提高性能的手段-数据库专栏,SQL Server
- 数据库索引技术--聚集索引和非聚集的区别和建立原则(三)
- 从索引技术谈数据库查询索引建立和查询条件书写
- 数据库建立索引的原则
- 数据库中为什么药建立索引,建立索引有什么优点和缺点?
- 用lucene为数据库搜索建立增量索引
- MySQL里建立索引应该考虑数据库引擎的类型
- HubbleDotNet 开源全文搜索数据库项目--为数据库现有表或视图建立全文索引(三) 多表关联全文索引模式
- 从索引技术谈数据库查询索引建立和查询条件书写
- 1.如何优化操作大数据量数据库(建立索引)
- SOLR的简单环境搭建及与数据库建立索引
- 建立索引提高数据库查询速度
- 从索引技术谈数据库查询索引建立和查询条件书写
- 使用Apache Solr对数据库建立索引(包括处理CLOB、CLOB)