1、定义一些字典表,在命名字段并为其指定数据类型的时候要保证一致性,可以在字典表里定义常用字段的名称、类型、枚举值及其对应的意思。枚举值可以用整型(有大小关系,例如:权限级别)或短字符代码(便于扩充,例如:渠道标识),这样在实际表记录中字段值可以较小,对于大表可以省空间,同时提高表扫描的效率。
2、尽量不要使用auto_increment类型字段作为主键,这样会使分布、备份、还原有一定的问题。
3、如果表中的数据会经常变动,一定要加上“最近更新日期/时间”字段,对于频繁变动的记录,还可另外再加一个变更日志表。变更日志表一般在查错或事后审核时用,所以在实时系统里该表可以不加任何主键及索引,提高插入效率,然后把数据放到非实时库中建索引进行查询。
4、外键用来保证数据一致性,但在实时系统里,通过应用程序逻辑的严密性保证数据的一致性,从而不在表上定义外键关系,可以起到提高数据库性能的作用,特别是对于大型表而言。
5、一般的表设计都会遵行第三范式,对于复杂的实时系统,会产生许多关联表,对于更新及删除操作,不会产生什么性能问题,但是对于查询,也许会造成负面的影响。如果实时系统里存在大量不可少的关联查询,比如要超过3个以上表进行关联时,考虑到性能因素,可以在表中加入少量的冗余字段,以减少表的关联操作,但这种行为必须谨慎考虑,防止对更新及删除产生过多影响。
6、字段类型的选择可考虑一定的扩展性,但是尽量选择存储小的类型和长度,例如:能用小整型的地方不要用大整型;如果字段是固定长度或长度变化范围不太的,选用固定长度类型;如果字符类型与整数类型都可用,尽量选整数类型。
7、对巨大数据量表的设计,可以考虑表分区实现。表分区是将一个大表分成多个分区表,以提高大表的访问性能。如果某个大表满足以下两个条件,可以适当的考虑分区:
(1)存在适合分区的表字段,并且只访问某一特定条件的数据。如存在日期字段,则可考虑按季度或按月份进行分区。
(2)由于数据量大,导致对表的访问开销巨大,不能达到预期的处理响应。分区可以将表和索引分的更小,更容易管理,从而提高响应速度。
8、流水表,可以分为当前表和历史表。例如:考虑业务的需要,可以把最近三个月的数据放在当前表中,三个月以前到一年以内的数据放在历史表中,配置固定任务,每天晚上或在业务不频繁的时候把过期数据从当前表移到历史表中。当前表小,可以少建索引,历史表适量建多些索引,一年以前的数据定时移到非实时数据库中存档。如果历史表太大,做备份归档,并删除数据库旧记录。
9、上面是数据的水平分割方式,还可以考虑数据的垂直分割方式,将原始表分成多个包含较少列的表。例如下面的情况:应用程序经常只需要访问部分数据列,很少时候需要访问其它部分数据列。
分享到:
相关推荐
数据库设计文档应包括ER图、表结构、索引设计、存储过程和触发器等,便于团队协作和后期维护。 总的来说,阿里巴巴的数据库设计开发规范旨在提供一套系统化、标准化的方法,确保数据库系统的高效、稳定和安全,同时...
### 数据库设计开发规范知识点概览 #### 一、数据库设计开发规范概述 《数据库设计开发规范-阿里.pdf》是一份由阿里巴巴云数据库服务部门编制的技术文档,旨在为数据库设计和开发提供一套全面且规范化的指导原则。...
数据库课程设计----音响店VCD零售出租管理系统的设计 里面包含了源码和课程设计报告,可供学习参考。高分课设。 一、课程设计目的及基本要求 数据库系统课程设计是为数据库原理及应用课程而独立开设的实践性课程。...
本课程分为系统分析、数据库设计两个阶段进行。应用程序设计作为选做内容。 数据库系统课程设计的主要目标是: a)加深对数据库系统、程序设计语言的理论知识的理解并提高应用水平。 b)通过实践,掌握数据库设计...
本课程分为系统分析、数据库设计两个阶段进行。应用程序设计作为选做内容。 数据库系统课程设计的主要目标是: a)加深对数据库系统、程序设计语言的理论知识的理解并提高应用水平。 b)通过实践,掌握数据库设计...
【数据库设计规范与高效设计】 数据库设计是信息系统建设的核心环节,其目的是为了创建一个能够高效存储和处理数据的系统,满足用户的各种需求。高效的数据库设计不仅关乎数据的准确性和完整性,还直接影响系统的...
数据库课程设计---某高校学生选课系统的设计.rar 注意,这只是数据库。 里面包含了源码和课程设计报告,可供学习参考。高分课设。 一、课程设计目的及基本要求 数据库系统课程设计是为数据库原理及应用课程而独立...
数据库课程设计报告-教学管理系统 (2).docx数据库课程设计报告-教学管理系统 (2).docx数据库课程设计报告-教学管理系统 (2).docx数据库课程设计报告-教学管理系统 (2).docx数据库课程设计报告-教学管理系统 (2).docx...
- 数据库设计包括概念设计(ER模型)、逻辑设计(关系模型)和物理设计。ER模型用于表达实体、属性和关系,关系模型则将ER模型转换为表结构。 2. **表结构设计**: - 商品表:记录商品的基本信息,如商品ID、名称...
本课程分为系统分析、数据库设计两个阶段进行。应用程序设计作为选做内容。 数据库系统课程设计的主要目标是: a)加深对数据库系统、程序设计语言的理论知识的理解并提高应用水平。 b)通过实践,掌握数据库设计...
数据库设计作为构建数据库的第一步,其重要性不言而喻。而E-R模型,即实体-关系模型,是数据库概念设计阶段的重要工具,它以直观的方式描述了实体之间的关系,为后续的逻辑设计和物理设计奠定了基础。 首先,我们来...
数据库课程设计报告-校运动会管理系统 (2).pdf数据库课程设计报告-校运动会管理系统 (2).pdf数据库课程设计报告-校运动会管理系统 (2).pdf数据库课程设计报告-校运动会管理系统 (2).pdf数据库课程设计报告-校运动会...
本课程分为系统分析、数据库设计两个阶段进行。应用程序设计作为选做内容。 数据库系统课程设计的主要目标是: a)加深对数据库系统、程序设计语言的理论知识的理解并提高应用水平。 b)通过实践,掌握数据库设计...
数据库课程设计----学校运动会管理系统
关系型数据库设计是数据库系统设计的核心部分,遵循一系列步骤,包括需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施以及运行和维护。本文档主要关注关系型数据库设计中的概念结构设计和逻辑结构...
数据库课程设计报告--人事管理系统.pdf数据库课程设计报告--人事管理系统.pdf数据库课程设计报告--人事管理系统.pdf数据库课程设计报告--人事管理系统.pdf数据库课程设计报告--人事管理系统.pdf数据库课程设计报告--...
数据库课程设计报告-教学管理系统(+java实现) (3).pdf数据库课程设计报告-教学管理系统(+java实现) (3).pdf数据库课程设计报告-教学管理系统(+java实现) (3).pdf数据库课程设计报告-教学管理系统(+java实现) (3).pdf...
数据库课程设计---超市收银系统是一项综合性的学习任务,旨在帮助学生掌握数据库设计与开发的基本技能,同时体验实际业务场景的应用。在这个项目中,我们将会探讨以下几个关键知识点: 1. **数据库设计**:首先,...
数据库设计说明书-完整版.docx数据库设计说明书-完整版.docx数据库设计说明书-完整版.docx数据库设计说明书-完整版.docx数据库设计说明书-完整版.docx数据库设计说明书-完整版.docx数据库设计说明书-完整版.docx...
数据库课程设计_ 基于javaWeb的宾馆管理系统源码+数据库+实验报告,含有代码注释,新手也可看懂,个人手打98分项目,导师非常认可的高分项目,毕业设计、期末大作业和课程设计高分必看,下载下来,简单部署,就可以...