数据库物理结构设计-建索引原则
应该建索引的原则
在经常需要搜索的列上建立索引。在主关键字上建立索引。在经常用于连接的列上建索引,即在外键上建立索引。在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的。在经常需要排序的列上建立索引 ,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间。在经常成为查询条件的列上建立索引。也就是说,在经常使用在where子句中的列上建立索引。
不应该建索引的原则
对于那些在查询中很少使用和参考的列不应该创建索引。因为既然这些列很少使用,有所因并不能提高查询速度。相反,由于增加了索引,反而降低了系统的维护速度和增大了空间需求。对于那些只有很少值的列不应该建立索引。例如,人事表中的“性别”列,取值范围只有两项:“男”或“女”。若在其上建立索引,则平均起来,每个属性值对应一半的元组,用索引检索,并不能明显加快检索速度。属性值分布严重不均的属性。例如学生的年龄往往集中在几个属性值上,若在年龄属性上建立索引,则在检索某个年龄的学生时,会涉及相当多的学生。过长的属性,例如超过30个字节。因为在过长的属性上建立索引,索引所占的存储空间比较大,而索引的级数也随之增加,有诸多不利之处。如果实在需要在其上建立索引,必须采取索引属性压缩的措施。经常更新的属性或表。因为在更新时有关的索引需要做相应的修改。
转载于:https://blog.51cto.com/trevor/285864
数据库物理结构设计-建索引原则相关推荐
- 转载:数据库表结构设计方法及原则
在目前的企业信息系统中,数据库还是最佳的数据存储方式,虽然已经有很多的书籍在指导我们进行数据库设计,但应该那种方式是设计数据库的表结构的最好方 法.设计时应遵从什么样的原则.四个范式如何能够用一种方式 ...
- mysql数据库物理结构设计_通俗数据库设计(4)物理结构设计
物理结构设计简介 物理结构设计:对于给定的逻辑数据模型,选取一个最适合应用环境的物理结构. 简单解释--选择合适的数据库,并设计具体的表.字段.数据类型.索引等.确定物理结构 (1)存储结构的设计-- ...
- mysql数据库物理结构设计_MySQL数据库结构设计
前言 在编码过程中,如果MySQL数据结构设计不好的话,会大大影响开发人员编码效率.比如说MySQL数据库表设计不规范,创建时间字段设计成cjsj,创建者字段设计成cjr或者cjz.这样的数据库表可读 ...
- mysql数据库物理结构设计_MySQL之数据库结构设计
本文主要介绍了在数据库结构设计过程中需要考虑的一些问题,来源于以往工作.项目经历以及网络资料等,如果有不准确的地方,欢迎指正交流. 在数据库结构的设计过程中,务必注意以下两点: 减少数据冗余,节约数据 ...
- 数据库建表原则,SQL数据库建表前期优化,SQL数据库操作优化,数据库命名规范...
2019独角兽企业重金招聘Python工程师标准>>> 关键字: 数据库建表原则 ·1. 原始单据与实体之间的关系 可以是一对一.一对多.多对多的关系.在一般情况下,它们是一对一的关 ...
- mysql 查询相同字段值的个数_好文 | MySQL 索引B+树原理,以及建索引的几大原则...
MySQL事实上使用不同的存储引擎也是有很大区别的,下面猿友们可以了解一下. 一.存储引擎的比较 注:上面提到的B树索引并没有指出是B-Tree和B+Tree索引,但是B-树和B+树的定义是有区别的. ...
- 【转】数据库设计:物理结构设计
数据库物理设计阶段的任务是根据具体计算机系统(DBMS和硬件等)的特点,为给定的数据库模型确定合理的存储结构和存取方法.所谓的"合理"主要有两个含义:一个是要使设计出的物理数据库占 ...
- 好文力荐 | MySQL 索引、B+树原理以及建索引的几大原则
作者:小宝鸽 blog.csdn.net/u013142781/article/details/51706790 MYSQL一直了解得都不多,之前写sql准备提交生产环境之前的时候,老员工帮我检查了下 ...
- 达梦数据库和mysql索引引擎_达梦数据库如何建索引和使用
一.建立索引的准则 1.1在表中插入数据后创建索引 一般情况下,在插入或装载了数据后,为表创建索引会更加有效率.如果在装载数据之前创建了一个或多个索引,那么在插入每行时DM数据库都必须更改和维护每个索 ...
- 概念结构设计( 实体与属性的划分原则、E-R图的集成)、逻辑结构设计(任务、步骤、转换方法、数据模型的优化、设计用户子模式、物理结构设计)....
概念结构设计 主要内容:[1]E-R图中如何确定实体与属性[2]集成E-R图时如何解决冲突 1 实体与属性的划分原则 [1]具体的应用环境常常对 ...
最新文章
- PE文件和COFF文件格式分析——导出表的应用——一种摘掉Inline钩子(Unhook)的方法
- 漫话:如何给女朋友解释什么是 Git 和 GitHub?
- 自定义控件详解(三):Canvas效果变换
- C#数据库操作一点相关点。。。
- 中国自古以来经历了三种官员选拔制度
- python中format和int_python函数之format()
- c++ stl stack_C ++ STL中的stack :: top()函数
- js模拟3D场景效果
- 随想录(MFC开发有感)
- 索引添加后,ACCESS数据库表查询运行速度的区别
- web优化之-asp.net js延迟加载 js动态合并 js动态压缩
- java map 集合实例_Java之集合类【HashMap】【入门版,实例解析】
- CVPR学习(二):CVPR2019-行人重识别
- cogs 1811. [NOIP2014]螺旋矩阵
- VS2005发布网站问题及aspnet_merge.exe”已退出,代码为 1的错误以及所有代码文件生成一个dll
- 欢迎北京超图加入openGauss社区
- 圆锥母线,弧长,面积计算公式
- springCloud 2020.x 版本变化,移除eureka以外的Netflix组件
- shiro注册登录流程(如何加密加盐)+配置多个Ream+密码加密验证底层分析+Remember使用+不同密码比对器原理(二)
- unity 四元数旋转各元素值的计算方法