数据库表设计总体思想

1.不要在数据库做运算符操作
    数据库服务器资源宝贵,要特别珍惜利用,如果在数据库上做如rand(),md5()等操作,在并发下对服务器很有压力,让数据库多做她擅长的事:尽量不在数据库做运算,复杂运算秱到程序端CPU,尽可能简单应用MySQL。
2.合理控制数据库表的数据量
    单库不要超过300张表;单表的数据量不要超过5000W。如果要达到较好的体验,数值INT型的,不要超过1000W,字符型的不要超过500W。当数据量超过一定量时候,需要考虑分表,分库操作。
3.控制好表的列数
    单表字段数上限控制在40个以内,超过的部分,可以考虑附表或者放入其他的表中。列数过多,在insert 数据的时候,就会慢,get的时候,也会慢。
4.三范式和冗余共存
    并不是每个表的列信息都必须按照三范式来,而是效率优先、提升性能,没有绝对的对与错,适当时牺牲范式、加入冗余。
5.拒绝三大设置
    大SQL (BIG SQL);大事务 (BIG Transaction);大批量 (BIG Batch);任何的一大,在并发场景下,都可能拖慢服务,甚至让数据库服务器dang掉。

你可能感兴趣的:(数据库)