所以,我们有时需要混同范式化和反范式化,比如一个更新频率低的字段可以冗余在表中,避免关联查询
单表字段不宜过多
建议最多30个以内
字段越多,会导致性能下降,并且增加开发难度(一眼望不尽的字段,我们这些开发仔会顿时傻掉的...这些都会导致严重的性能开销
尽量将列设置为NOT NULL
a.可为NULL的列占用更多的存储空间
b.可为NULL的列,在使用索引和值比较时,mySQL需要做特殊的处理,损耗一定的性能
建议:通常最好指定列为...这些函数生成的新值也任意分布在很大空间内,这会导致INSERT和一些SELECT语句很缓慢
索引
使用索引为什么快
索引相对于数据本身,数据量小
索引是有序的,可以快速确定数据位置
InnoDB的表示索引组织表...(date_clo) >= 10
4.like查询以%开头
5.or (or两边的列都建立了索引则可以使用索引)
6.类型不一致
如果列是字符串类型,传入条件是必须用引号引起来,不然无法使用索引
select...join
3.避免 SELECT *,从数据库里读出越多的数据,那么查询就会变得越慢
4.尽可能的使用 NOT NULL列,可为NULL的列占用额外的空间,且在值比较和使用索引时需要特殊处理,影响性能