当前位置 博文首页 > 编程哲学家的专栏:MySQL性能优化之表结构优化

    编程哲学家的专栏:MySQL性能优化之表结构优化

    作者:[db:作者] 时间:2021-07-09 19:05

    设计规范化表,消除数据冗余

    ?

    第一范式:属性(字段)的原子性约束,要求属性具有原子性,不可再分割;
    第二范式:记录的惟一性约束,要求记录有惟一标识,每条记录需要有一个属性来做为实体的唯一标识。
    第三范式:属性(字段)冗余性的约束,即任何字段不能由其他字段派生出来。外键解决
    

    适当的冗余,增加计算列

    设计原则:在数据冗余和处理速度之间找到合适的平衡点

    传说中的‘三少原则’

    ?

    ①:数据库的表越少越好
    ②:表的字段越少越好
    ③:字段中的组合主键、组合索引越少越好
    

    字段设计原则

    字段是数据库最基本的单位,其设计对性能的影响是很大的。需要注意如下:

    ?

    A、数据类型尽量用数字型,数字型的比较比字符型的快很多。
    B、数据类型尽量小,这里的尽量小是指在满足可以预见的未来需求的前提下的。
    C、尽量不要允许NULL,除非必要,可以用NOT NULL+DEFAULT代替。
    D、少用TEXT和IMAGE,二进制字段的读写是比较慢的,而且,读取的方法也不多,大部分情况下最好不用。
    E、自增字段要慎用,不利于数据迁移

    ?

    cs