尽量不要让数据库做过多运算
数据库主要是用来存储的,我们应避免让数据库做运算,比如写定时任务,存储过程等。复杂的计算应该在程序代码中实现。我们应该尽量简单的使用数据库。
控制数据量
一年内单表数据量一般含char不超过500W条,我们需要合理的分表。单个库的表建议在300到400之间。
单表字段数量
单表的字段应该少而精,那多少合适呢?一般单表字段上限控制在20到50个。
在开发中,我们要注意避免使用大SQL、大事务。
避免使用NULL字段
我发现很多童鞋在建表时喜欢字段默认NULL,使用NULL很难进行查询优化,我们如果对NULL列加索引,需要额外空间,而且含NULL的符合索引无效。
`a` char(32) DEFAULT NULL`b` int(10) NOT NULL
比如上面这种。
少用TEXT
我们可以使用VARCHAR代替TEXT,因为TEXT类型处理性能比VARCHAR要低,TEXT会强制生成临时表,从而浪费更多空间。UTF-8下,VARCHAR(65535)大概占用64K空间。
如果一定要使用,就拆成