自己总结的数据库设计规范
admin
2023-04-30 14:25:00
0

总体方向思维

1.数据架构和容量规划相关
    a.总数据量的预估,一年或两年为期限,直接影响硬盘容量规划
    b.是否关联其他数据库和环境,关联数据会影响数据增长量
    c.数据重要性,是否需要集群,备份级别的要求,不重要数据可选择定期归档或清除旧数据,硬盘要求可降低
        ps:数据重要性大体分为:完全不可丢失,丢一些可以接受,丢一部分可以接受,全丢都不影响

2.性能相关
    a.平均活跃连接数预估,活跃连接数越多,查询也不会少,数据库压力就上来了
    b.预估QPS数据,增删查改的频率,QPS越高,数据库压力越大
    c.代码是否有轮巡和重复查询现象,太过频繁操作数据库显然也会增加压力
    d.代码是否有先查后改和没过滤条件的查询等问题逻辑,人为增加数据库压力的逻辑不可取
    e.代码是否有缓存机制,特别针对静态信息,能显著减少数据库压力,但是要看框架设计思路

3.增长量
    a.数据增长和并发增长的预估,按月和按年预估,初期压力不高可理解,但是别忘了要预估长期压力
    b.直接业务和关联业务增长的预估,算单库压力,同上,要看中长期,而关联业务附带的压力往往被忽略


设计表时要注意

4.表结构是否科学
    a.表字段避免null值出现,null值很难查询优化且占用额外的索引空间,推荐默认数字0代替null。
    b.使用合适的INT类型,而非无脑BIGINT,如果非负则加上UNSIGNED(这样数值容量会扩大一倍),当然能使用TINYINT、SMALLINT、MEDIUM_INT更好。
    c.如果只是分类字段(例如性别)或者是数据差异较少(例如月份)的字段,建议使用枚举或整型代替字符串类型
    d.尽量使用TIMESTAMP而非DATETIME,因为DATETIME会逐步退出历史
    e.单表不要有太多字段,建议在20以内,或者说是单条记录所有字段加起来控制在8K字节内,因为innodb默认一个数据页是16K,存两行数据,超过就会造成行溢出,影响性能
    f.用整型来存IP,电话号码,身F证等信息,然后代码拼接实现
    g.慎用blog/text大字段,因为容易造成内存溢出,尽量也只用在非常用查询字段,或者查询时主动隐藏该字段,按需显示
    h.慎用存储过程,触发器,函数,因为比较耗费数据库内部资源,用程序实现更好
    i.字符集,注释,字段的关联统一性,字符集和字段统一可以避免类型转换和主从报错,注释统一方便查询其含义

5.索引结构设计规范

    a.索引越多,理论上查询越快,但是占用硬盘空间也越多,数据插入越慢(写完数据还要写索引),需要慎重考虑索引的必要性
    b.不要用外键,删除和修改字段会造成关联锁定,异常麻烦,尽量用程序约束就足够了
    c.建立索引要注意数据差异对比,差异太少不适合建立独立索引,应和其他字段建立联合索引,但要注意最左匹配原则,避免建立重复的索引
    d.尽量避免在WHERE子句中对字段进行NULL值判断,否则将导致引擎放弃使用索引而进行全表扫描
    e.字符字段尽量只建前缀索引,且最好不要做主键,因为范围查询性能差,建议建立一个自增整型字段做主键,字符字段做唯一索引
    f.插入操作太多的字段应避免使用唯一索引,因为每次插入都会判断唯一性,耗费不必要的性能,虽然查询也会判断,但是这个性能损耗少很多,可以忽略








相关内容

热门资讯

“台独”顽固分子刘世芳外甥被台... 5月13日,国务院台办举行例行新闻发布会。有记者问:对于“台独”顽固分子刘世芳外甥颜文群被所在台企解...
1至4月全国铁路完成固定资产投... 【大河财立方消息】 5月13日,国铁集团发布的数据显示,今年1至4月,铁路建设优质高效推进,全国铁路...
了不起的河洛文化丨巩义的盛唐物... 巩义出土的唐三彩。 河南省文物考古研究院供图近日,郑州市文物考古研究院考古博物馆二楼报告厅举办了一场...
方太油烟机自动排烟故障 方太油烟机是一款高品质的厨房电器,它能够有效地吸收和排除厨房产生的油烟,保持室内空气的清新。然而,在...
方太油烟机的油烟怎么处理 方太油烟机是一种能够清除厨房油烟的设备,可以有效的净化厨房空气,减少油烟对人体的危害。但是,油烟机使...
方太油烟机尺寸为什么有大有小 在挑选抽油烟机时,抽油烟机的尺寸是重点考虑问题。如果购买到的抽油烟机尺寸过大,必然会占用太多空间,甚...
邻妹妹帮办|冷冻玉米长黑斑仍在... “玉米霉变非常明显,超市还在售卖!”近日,信阳市浉河区湖东街道辖区居民李女士向大河报·邻妹妹反映,其...
电视机安装高度 1、安装电视的观看距离应该至少为显示屏对角距离的3到5倍,安装高度建议以用户坐在椅子或沙发上眼睛平视...
安装构件的吊装高度包括 具体要看吊装设备的承载力,如果起重重量达100吨以上,那么这种构件的吊装高度起码要在75米左右。当然...
国务院国资委:推动大型央企“瘦... 【大河财立方消息】据国务院国资委网站,5月11日,国务院国资委党委召开专题会议。会议强调,要围绕打好...