• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >数据库其它 > 数据库建立索引的一般依据小结

数据库建立索引的一般依据小结

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了数据库索引,数据库索引原理,数据库索引是什么,数据库索引的作用,数据库索引创建等相关知识,希望本文的分享对您有所帮助

建立索引常用的规则如下:

1、表的主键、外键必须有索引;

2、数据量超过300的表应该有索引;

3、经常与其他表进行连接的表,在连接字段上应该建立索引;

4、经常出现在Where子句中的字段,特别是大表的字段,应该建立索引;

5、索引应该建在选择性高的字段上;

6、索引应该建在小字段上,对于大的文本字段甚至超长字段,不要建索引;

7、复合索引的建立需要进行仔细分析;尽量考虑用单字段索引代替:

   A、正确选择复合索引中的主列字段,一般是选择性较好的字段;

   B、复合索引的几个字段是否经常同时以AND方式出现在Where子句中?单字段查询是否极少甚至没有?如果是,则可以建立复合索引;否则考虑单字段索引;

   C、如果复合索引中包含的字段经常单独出现在Where子句中,则分解为多个单字段索引;

   D、如果复合索引所包含的字段超过3个,那么仔细考虑其必要性,考虑减少复合的字段;

   E、如果既有单字段索引,又有这几个字段上的复合索引,一般可以删除复合索引;

8、频繁进行数据操作的表,不要建立太多的索引;

9、删除无用的索引,避免对执行计划造成负面影响;

   以上是一些普遍的建立索引时的判断依据。一言以蔽之,索引的建立必须慎重,对每个索引的必要性都应该经过仔细分析,要有建立的依据。因为太多的索引与不充分、不正确的索引对性能都毫无益处:在表上建立的每个索引都会增加存储开销,索引对于插入、删除、更新操作也会增加处理上的开销。另外,过多的复合索引,在有单字段索引的情况下,一般都是没有存在价值的;相反,还会降低数据增加删除时的性能,特别是对频繁更新的表来说,负面影响更大。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 什么是数据库索引 有哪些类型和特点
  • 数据库建立索引的一般依据小结
  • 数据库索引解析

相关文章

  • 2017-05-11带参数的sql和不带参数的sql存储过程区别第1/2页
  • 2017-05-11数据库删除完全重复和部分关键字段重复的记录
  • 2017-05-11写出高性能SQL语句的35条方法分析
  • 2017-05-11在PostgreSQL中使用日期类型时一些需要注意的地方
  • 2017-05-11浅析sql server 公共表达式的简单应用
  • 2017-05-11超大数据量存储常用数据库分表分库算法总结
  • 2017-05-11比较SQL Server与Oracle、DB2数据库的一些知识
  • 2017-05-11一条DELETE语句
  • 2017-05-11海量数据库的查询优化及分页算法方案 2 之 改良SQL语句
  • 2017-05-11MySQL与Oracle差异比较之三 函数

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 数据库设计技巧奉送了
    • 在PostgreSQL中使用日期类型时一些需要注意的地方
    • 在CRUD操作中与业务无关的SQL字段赋值的方法
    • 读取修复:在读取路径期间修复
    • sql语句中where和having的区别
    • 多种获取远程连接access数据库的方法
    • 解决MongoVUE的Collections数据不显示的问题
    • 主键与聚集索引
    • Access转成SQL数据库的方法
    • 一个查询的SQL语句请教,希望能够用一条SQL语句得到结果

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有