MySQL数据库的优化
(1)设计优化
一般来说,我们可能会希望数据库中每一个数据越小越好。因此,可以使用最小化冗余的设计思想来实现此目的。当然,也可以通过使用最小的列数据类型来实现它。也应该尽可能使NULL最少,使主键尽可能短。
如果可能,尽量避免使用可变长度列(像VARCHAR\TEXT\BLOB)。如果字段长度固定,它们用起来将更快,但是要占用多一点的空间。
(2)权限
除了使用前面所述的关于EXPLAIN的建议,还可以通过简化权限来提高查询速度。前面,我们讨论了在查询执行之前通过权限系统检查该查询的过程,该过程越简单,查询速度越快。
(3)表的优化
如果一个表已经用了一段时间,随着更新和删除操作的发生,数据将会变得支离破碎。这样同样会增加在该表中查询所花的时间。可以使用如下语句修复它:
OPTIMIZE TABLE TABLENAME;
或者再命令提示符下键入:
myisamchk -t table
也可以使用myisamchk工具根据索引对该表索引和数据进行查询
(4)使用索引
可以在需要提高查询速度的地方使用索引。简化索引,不要创建查询不适用的索引。运行前面所介绍的EXPLAIN命令可以检查该索引是否正在使用中。
(5)使用默认值
在尽可能的地方使用列的默认值,只在与默认值不同的时候才插入数据。这样可以减少执行INSERT语句所花的时间。