概述
数据库的优化其实就两个方面:
- 写:写数据的时候,足够快
- 读:读数据足够快
主要的性能瓶颈是在:磁盘IO的操作
所以,优化的方法主要是尽量避免磁盘IO的操作
写
不要给数据库留NULL
在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描
可以设置默认值,确保表中没有null值
NULL 也需要空间的
比如:char(100) 型,在字段建立时,空间就固定了, 不管是否插入值(NULL也包含在内),都是占用 100个字符的空间的,如果是varchar这样的变长字段, null 不占用空间
CU优化
Update 语句,如果只更改1、2个字段,不要Update全部字段,否则频繁调用会引起明显的性能消耗,同时带来大量日志。
索引并不是越多越好,索引固然可以提高相应的 select 的效率,但同时也降低了 insert 及 update 的效率,因为 insert 或 update 时有可能会重建索引,所以怎样建索引需要慎重考虑,视具体情况而定。
尽可能的使用 varchar代替 char ,因为首先变长字段存储空间小,可以节省存储空间,其次对于查询来说,