应该建索引的原则

在经常需要搜索的列上建立索引。在主关键字上建立索引。在经常用于连接的列上建索引,即在外键上建立索引。在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的。在经常需要排序的列上建立索引 ,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间。在经常成为查询条件的列上建立索引。也就是说,在经常使用在where子句中的列上建立索引。

不应该建索引的原则

对于那些在查询中很少使用和参考的列不应该创建索引。因为既然这些列很少使用,有所因并不能提高查询速度。相反,由于增加了索引,反而降低了系统的维护速度和增大了空间需求。对于那些只有很少值的列不应该建立索引。例如,人事表中的“性别”列,取值范围只有两项:“男”或“女”。若在其上建立索引,则平均起来,每个属性值对应一半的元组,用索引检索,并不能明显加快检索速度。属性值分布严重不均的属性。例如学生的年龄往往集中在几个属性值上,若在年龄属性上建立索引,则在检索某个年龄的学生时,会涉及相当多的学生。过长的属性,例如超过30个字节。因为在过长的属性上建立索引,索引所占的存储空间比较大,而索引的级数也随之增加,有诸多不利之处。如果实在需要在其上建立索引,必须采取索引属性压缩的措施。经常更新的属性或表。因为在更新时有关的索引需要做相应的修改。

转载于:https://blog.51cto.com/trevor/285864

数据库物理结构设计-建索引原则相关推荐

  1. 转载:数据库表结构设计方法及原则

    在目前的企业信息系统中,数据库还是最佳的数据存储方式,虽然已经有很多的书籍在指导我们进行数据库设计,但应该那种方式是设计数据库的表结构的最好方 法.设计时应遵从什么样的原则.四个范式如何能够用一种方式 ...

  2. mysql数据库物理结构设计_通俗数据库设计(4)物理结构设计

    物理结构设计简介 物理结构设计:对于给定的逻辑数据模型,选取一个最适合应用环境的物理结构. 简单解释--选择合适的数据库,并设计具体的表.字段.数据类型.索引等.确定物理结构 (1)存储结构的设计-- ...

  3. mysql数据库物理结构设计_MySQL数据库结构设计

    前言 在编码过程中,如果MySQL数据结构设计不好的话,会大大影响开发人员编码效率.比如说MySQL数据库表设计不规范,创建时间字段设计成cjsj,创建者字段设计成cjr或者cjz.这样的数据库表可读 ...

  4. mysql数据库物理结构设计_MySQL之数据库结构设计

    本文主要介绍了在数据库结构设计过程中需要考虑的一些问题,来源于以往工作.项目经历以及网络资料等,如果有不准确的地方,欢迎指正交流. 在数据库结构的设计过程中,务必注意以下两点: 减少数据冗余,节约数据 ...

  5. 数据库建表原则,SQL数据库建表前期优化,SQL数据库操作优化,数据库命名规范...

    2019独角兽企业重金招聘Python工程师标准>>> 关键字: 数据库建表原则 ·1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关 ...

  6. mysql 查询相同字段值的个数_好文 | MySQL 索引B+树原理,以及建索引的几大原则...

    MySQL事实上使用不同的存储引擎也是有很大区别的,下面猿友们可以了解一下. 一.存储引擎的比较 注:上面提到的B树索引并没有指出是B-Tree和B+Tree索引,但是B-树和B+树的定义是有区别的. ...

  7. 【转】数据库设计:物理结构设计

    数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法.所谓的"合理"主要有两个含义:一个是要使设计出的物理数据库占 ...

  8. 好文力荐 | MySQL 索引、B+树原理以及建索引的几大原则

    作者:小宝鸽 blog.csdn.net/u013142781/article/details/51706790 MYSQL一直了解得都不多,之前写sql准备提交生产环境之前的时候,老员工帮我检查了下 ...

  9. 达梦数据库和mysql索引引擎_达梦数据库如何建索引和使用

    一.建立索引的准则 1.1在表中插入数据后创建索引 一般情况下,在插入或装载了数据后,为表创建索引会更加有效率.如果在装载数据之前创建了一个或多个索引,那么在插入每行时DM数据库都必须更改和维护每个索 ...

  10. 概念结构设计( 实体与属性的划分原则、E-R图的集成)、逻辑结构设计(任务、步骤、转换方法、数据模型的优化、设计用户子模式、物理结构设计)....

    概念结构设计           主要内容:[1]E-R图中如何确定实体与属性[2]集成E-R图时如何解决冲突         1 实体与属性的划分原则           [1]具体的应用环境常常对 ...

最新文章

  1. PE文件和COFF文件格式分析——导出表的应用——一种摘掉Inline钩子(Unhook)的方法
  2. 漫话:如何给女朋友解释什么是 Git 和 GitHub?
  3. 自定义控件详解(三):Canvas效果变换
  4. C#数据库操作一点相关点。。。
  5. 中国自古以来经历了三种官员选拔制度
  6. python中format和int_python函数之format()
  7. c++ stl stack_C ++ STL中的stack :: top()函数
  8. js模拟3D场景效果
  9. 随想录(MFC开发有感)
  10. 索引添加后,ACCESS数据库表查询运行速度的区别
  11. web优化之-asp.net js延迟加载 js动态合并 js动态压缩
  12. java map 集合实例_Java之集合类【HashMap】【入门版,实例解析】
  13. CVPR学习(二):CVPR2019-行人重识别
  14. cogs 1811. [NOIP2014]螺旋矩阵
  15. VS2005发布网站问题及aspnet_merge.exe”已退出,代码为 1的错误以及所有代码文件生成一个dll
  16. 欢迎北京超图加入openGauss社区
  17. 圆锥母线,弧长,面积计算公式
  18. springCloud 2020.x 版本变化,移除eureka以外的Netflix组件
  19. shiro注册登录流程(如何加密加盐)+配置多个Ream+密码加密验证底层分析+Remember使用+不同密码比对器原理(二)
  20. unity 四元数旋转各元素值的计算方法

热门文章

  1. securecrt批量登录linux,SecureCRT批量配置使用会话key
  2. OFFICE技术讲座:JDK绘制旋转字体的效果(垂直)
  3. 吾不是爱管闲事,实在是忍无可忍
  4. 全网首发:LINUX编译JNA:编译产生jna.jar
  5. github fork自己的库,如何同步源库的更新
  6. 考不上本科是智商问题,这话有错吗?
  7. 别人回答工作中的问题,要自行判断是否正确
  8. 路面压电发电,应该有前途
  9. 今天开始,吾使用手机上的五笔输入法
  10. android卡片式通知,原子通知+超级卡包,OriginOS比传统安卓更懂用户的需求