mysql性能优化

2020-05-26  本文已影响0人  程序员的自我修养

一、数据库优化的方向

     1.SQL及索引

     2.数据库表结构

     3.系统配置

     4.硬件

二、SQL语句优化

     1.count()和max()的优化

          eg:在一条SQL中同时查出2006年和2007年电影的数量--优化count()函数

               SELECT COUNT( release_year ='2006' OR NULL) AS '2006年电影数量',COUNT( release_year = '2007' OR NULL) AS '2007年电影数量' FROM file; 

               优化max()函数--可以考虑用索引

     2.优化子查询

          通常情况下,需要把子查询优化为join查询,但在优化时要注意关联建是否有一对多的关系,要注意重复数据。

          eg:SELECT title,release_year,LENGTH FROM file WHERE film_id IN(SELECT file_id FROM file_actor WHERE first_name = 'sandra')

     3.优化group by 查询

          eg:SELECT actor.first_name,actor.last_name,c.cnt FROM sakila.actor INNER JOIN(SELECT actor_id,COUNT(*) AS cnt FROM sakila.film_actor GROUP BY actor_id) AS c USING(actor_id);

     4.优化limit查询

上一篇 下一篇

猜你喜欢

热点阅读