SQL优化之善待数据库从建表开始

简介: 建表相信小伙伴都会,鼠标点击右键建表,输入需要的列和类型,给表命名保存即可。但是你有想过不规范的建表,对数据库会是一种什么样的情况?

1为什么要规范建表



规范建表有助于厘清表与表之间的关系,列与列之间的联系,可以很好的理解当前库的具体作用。上面的只是最基本的,深层次的原因是可以有效提高表与表进行关联或者单独查询时候的效率。一般复杂的逻辑由于表设计的不合理,在进行表关联时候需要关联很多张表,每进行一次关联,数据库就需要消耗一定的时间去寻找匹配项。关联的越多,花的时间就越久。


2如何规范建表


A.按主题对表进行划分


例如学生主题相关的,在建表的时候可以采用以下方式创建CREATE TABLE STU.Students(......)其中STU就代表一个主题


B.表和列的命名的规范


表名在创建时需要做到见名知意,词汇之间用_隔开,使用驼峰式(首字母大写),且长度不宜超过30个长度。例如要建立一个学生缴费表,可以采用如下方式:CREATE TABLE STU.Students_Fee(......)这里的表名Students_Fee由词语学生(Students)和费用(Fee)组成,用_进行连接,单词的首字母都进行了大写,由12个字符组成。


C.字段类型统一定义

  • 对于字符串类型,如果长度超过20个长度,一般定义为VARCHAR类型。低于20个的可以考虑使用CHAR类型,可以有效提高查询效率。
  • 中文字段一般用VARCHAR类型,长度视情况而定。
  • 涉及金额以及精度较高的使用DECIMAL(m,n)类型,其中m和n根据实际情况具体来定。不建议使用DOUBLE和FLOAT类型
  • 判断类的可以直接使用INT类型来代替,如0代表否,1代表是
  • 整形定义中不添加长度,比如使用INT,而不是INT(4)
  • 尽可能不要使用IMAGE和TEXT类型
  • 存储时间(精确到秒)建议使用TIMESTAMP类型,因为TIMESTAMP使用4字节,DATETIME使用8个字节
  • 建议字段定义为NOT NULL,有NULL存在的列,可能会让索引失效。


D.尽量满足第三范式

其实第三范式的作用就是为了让表里的字段尽可能少存储几列,减少冗余。但是在实际开发生产中,很多人基本就是看心情建表。有的表可以冗余几列结果没有冗余,有的表需要拆分成几个表却将所有字段放在一个大表中,这是建表大忌。在不知道如何建表更优的情况下,建议列数不要超过20列。最好能先画一个E-R草图,磨刀不误砍柴工,明确了逻辑之后建表其实很快且高效的。

相关文章
|
1天前
|
SQL 监控 数据库
MSSQL性能调优实战:索引策略优化、SQL查询重写与高效并发管理的具体技巧
在Microsoft SQL Server(MSSQL)的性能调优过程中,索引策略的优化、SQL查询的重写以及高效并发管理是关键环节
|
1天前
|
SQL 运维 监控
MSSQL性能调优实战:索引精细化构建、SQL查询深度优化与高效并发控制策略
在Microsoft SQL Server(MSSQL)的运维与优化过程中,索引的精细化构建、SQL查询的深度优化以及高效并发控制策略是提升数据库性能的关键
|
1天前
|
SQL 运维 监控
MSSQL性能调优实战:索引策略优化、SQL查询重写与智能锁管理
在Microsoft SQL Server(MSSQL)的运维中,性能调优是确保数据库高效运行、满足业务需求的关键环节
|
1天前
|
SQL 监控 数据库
MSSQL性能调优深度探索:索引精细调整、SQL重写优化与智能并发控制
在Microsoft SQL Server(MSSQL)的日常管理和维护中,性能调优是一项至关重要的任务
|
1天前
|
SQL 运维 监控
MSSQL性能调优深度解析:索引优化策略、SQL查询优化技巧与高效并发管理实践
在Microsoft SQL Server(MSSQL)的运维与优化领域,性能调优是确保数据库高效运行、满足业务需求的关键环节
|
1天前
|
SQL 存储 监控
MSSQL性能调优深度解析:索引策略优化、SQL语句精炼与并发管理技巧
在Microsoft SQL Server(MSSQL)的性能调优领域,索引策略的优化、SQL语句的精炼以及高效的并发管理技巧是提升数据库性能不可或缺的三大方面
|
1天前
|
SQL 运维 监控
MSSQL性能调优深度解析:索引精细调整、SQL查询优化与并发控制策略
在Microsoft SQL Server(MSSQL)的运维实践中,性能调优是确保数据库高效、稳定运行的核心任务
|
1天前
|
SQL 监控 数据库
MSSQL性能调优秘籍:索引深度优化、SQL重构技巧与高效锁策略
在Microsoft SQL Server(MSSQL)环境中,性能调优是确保数据库高效运行、满足业务快速增长需求的关键
|
1天前
|
SQL 监控 Serverless
MSSQL性能调优实战:索引精细化构建、SQL查询深度优化与并发管理策略
在Microsoft SQL Server(MSSQL)的性能调优实践中,索引的精细化构建、SQL查询的深度优化以及高效的并发管理策略是提升数据库性能不可或缺的三大支柱
|
1天前
|
SQL 运维 监控
MSSQL性能调优深度剖析:索引优化策略、SQL语句微调与并发管理机制
在Microsoft SQL Server(MSSQL)的运维与优化实践中,索引优化策略、SQL语句的精细微调以及高效的并发管理机制是提升数据库性能的三大支柱