当前位置:C++技术网 > 资讯 > 你一直想要的数据库优化之数据表设计规范

你一直想要的数据库优化之数据表设计规范

更新时间:2017-09-13 09:16:10浏览次数:1+次

    从项目中总结的数据库设计规范, 平时经常看数据库优化的资料, 其实在实际项目开发中除去那些比较高档的优化措施, 还是应该从最基本的优化做起, 本文教你如何开始数据库优化之旅

    1. 表字段防冗余
因为数据库中肯定不止一个数据表, 不同数据表之间肯定有数据关联, 因此就有了数据表字段关联, 有时候为了开发方便, 可能一个表中, 同时关联另一个表的id, name两个字段, 此时的确开发起来会比较方便, 但是数据表设计不规范, 表与表之间的关联最好是通过id关联, 不要用其他的字段, 同时不再需要有该表中的其他字段, 有了id字段就可以了

2. 防不一致
这个其实就是上面那个注意事项的引申, 假如, 有两个表分别是tb_depart, tb_reportday, 两个表的关联字段是depart_id, 如果我需要在数据库里面直接改这个depart_id, 那还简单, 直接改就行, 但是如果我们只改了一个表的depart_id字段, 那就数据就不一致, 此时就会出现问题了, 而且, 如果两个表关联的字段不只是id, 那就更坑了, 一改就得改两个表的四个字段或是更多, 这不麻烦?而且你确定所有的关联字段数据你都能改过来? 如果没有改完全, 那么数据就会不一致就会出现问题.

3. 所见即所存
通俗来讲, 数据库里面的数据表只要存放我们见到的数据, 其余的不需要, 这样更直观, 数据存储也更合理

4. 非中文关联
数据表的字段设计不要采用中文关联, 具体请看<>

5. 延伸
可能在项目中, 已经设计好了数据库中应该如何设计, 该有哪些数据表, 但是还需要考虑一个问题, 那就是可延伸性。可能后续重构或是增加了某一个模块需要在数据表中新增一些数据字段, 这时, 如果我们的表设计合理, 支持表的延伸设计那就很方便了, 而且数据表的更改不会太大, 对原来的数据没有太大的影响, 项目跑起来还是顺顺畅畅的, 感觉会贼爽!

6. 稳定
数据库就像人一样, 最需要的就是稳定。设计好数据表, 考虑周全, 这样在项目开发后期就不需要老是修改数据表, 如果你一边赶项目, 一遍改数据库, 那就...

7. 严谨类型定义
对于表字段的设计, 最终的就是类型定义, 一个字段需要设计成什么样的字段那是需要考虑清楚, 这个也决定着数据库的优化

8. 节省资源和容量
这其实就是表字段的设计, char, varchar(n), text等不同类型的设计, 其在数据库中所占的内存是不一样的, 我们都知道一个项目稳定与否, 除去程序之外, 最需要优化的就是数据库了, 表字段类型及大小设计合理可以很大程度上优化数据库

9. 主键, 外键设计规范
就像之前说的, 表之间的关联应该用id字段关联, 其他字段一律不行

10. 单引号过滤(防止sql注入)
在表中存储数据时, 最需要考虑的就是sql注入了, 我们可以在程序中过滤单引号等敏感字符, 也可以采用存储过程来优化等等。目前各种开发平台, 开发语言都有相对应的防范措施

    

    目前先总结这些, 后续还有好的优化措施再补上