浅谈MySQL数据库优化
2007-11-11 13:22:01 来源:WEB开发网核心提示: 3.2 优化WHERE子句 MySQL(和PHP搭配之最佳组合)优化器支持大量的优化工作,详细信息我们需要参看MySQL(和PHP搭配之最佳组合)联机文档,浅谈MySQL数据库优化(6),而且MySQL(和PHP搭配之最佳组合)优化器每个版本都在进行不断完善,我们的原则就是尽量简化WHERE条件:去除不必要的括号,
3.2 优化WHERE子句
MySQL(和PHP搭配之最佳组合)优化器支持大量的优化工作,详细信息我们需要参看MySQL(和PHP搭配之最佳组合)联机文档,而且MySQL(和PHP搭配之最佳组合)优化器每个版本都在进行不断完善。我们的原则就是尽量简化WHERE条件:去除不必要的括号,去除重叠WHERE条件,尽量减少访问的范围等。我们下边给出一个WHERE条件充分利用索引的例子。
和Oracle(大型网站数据库平台)等数据库一样,如果我们对where条件后边的字段加上了函数处理的话,将不能利用索引,因此一定要注意把函数处理都要放在后边来处理。
MySQL(和PHP搭配之最佳组合)> explain select * from test where id/2<100\G;
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: test
type: ALL
possible_keys: NULL
key: NULL
key_len: NULL
ref: NULL
rows: 1534755
Extra: Using where
1 row in set (0.78 sec)
ERROR:
No query specified
MySQL(和PHP搭配之最佳组合)> explain select * from test where id<100*2\G;
*************************** 1. row ***************************
id: 1
select_type: SIMPLE
table: test
type: range
possible_keys: idx_test
key: idx_test
key_len: 4
ref: NULL
rows: 16296
Extra: Using where
1 row in set (0.09 sec)
ERROR:
No query specified
3.3其他优化
MySQL(和PHP搭配之最佳组合)文档中分别对于join、order by、group by等的优化都做了详细讲述,我们在这里就不给出具体的实例了,大家参考MySQL(和PHP搭配之最佳组合)联机文档。
更多精彩
赞助商链接