MySQL优化的几种方法
1.建表时,选取最适用的表字段数据类型,定义适当的字段宽度,如果一字段数据类型为VARCHAR(255),而其实用不了这么大宽度,改到字段需要的宽度就可以了。
2.尽量把字段设置成NOTNULL,这样会在select查询的时候,数据库不用去比较NULL值。
3.尽量避免在 where 子句中使用!=或<>操作符,in 和 not in ,以及 like '%abc%' ,否则将引擎放弃使用索引而进行全表扫描。
4.适用连接(JOIN)代替子查询,之所以要使用连接(JOIN),是因为MySQL不需要在内存中创建临时表来完成两个步骤的查询工作。
5.使用联合(UNION)来代替手动创建的临时表
6.事务:BEGIN关键字开始,COMMIT关键字结束。在这之间的一条SQL操作失败,那么,ROLLBACK命令就可以把数据库恢复到BEGIN开始之前的状态。
7.使用外键,保证数据的关联性
8.使用索引,索引应建立在那些将用于JOIN,WHERE判断和ORDERBY排序的字段上。尽量不要对数据库中某个含有大量重复的值的字段建立索引。对于一个ENUM类型的字段来说,出现大量重复值是很有可能的情况