这一
Web
应用最多的数据库。希望下面的这些优化技巧对你有用。
1.
为查询缓存优化你的查询
大多数的
MySQL
服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被
MySQL
的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会
被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。
这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的。因为,我们某些查
询语句会让
MySQL
不使用缓存。请看下面的示例:
上面两条
SQL
语句的差别就是
CURDATE()
,
MySQL
的查询缓存对这个函数不起作用。
所以,像
NOW()
和
RAND()
或是其它的诸如此类的
SQL
函数都不会开启查询缓存,因为这
些函数的返回是会不定的易变的。所以,你所需要的就是用一个变量来代替
MySQL
的函
数,从而开启缓存。
2.EXPLAIN
你的
SELECT
查询
使用
EXPLAIN
关键字可以让你知道
MySQL
是如何处理你的
SQL
语句的。这可以帮你分
析你的查询语句或是表结构的性能瓶颈。
EXPLAIN
的查询结果还会告诉你你的索引主键被如何利用的,你的数据表是如何被搜索和
排序的……等等,等等。
挑一个你的
SELECT
语句(推荐挑选那个最复杂的,有多表联接的),把关键字
EXPLAIN
加到前面。你可以使用
phpmyadmin
来做这个事。然后,你会看到一张表格。下
面的这个示例中,我们忘记加上了
group_id
索引,并且有表联接:
ww.phperz.com
评论