我应该使用索引或缓存来解决简单的慢查询吗?

时间:2015-03-07 04:02:06

标签: mysql laravel-4

这是一个使用Laravel 4 eager loading的简单查询示例,因为它在表中有大量记录,所以运行缓慢。

select * from `media` where `extension` in ('jpg', 'JPG', 'jpeg', 'JPEG', 'png', 'PNG', 'bmp', 'BMP', 'gif', 'GIF', 'nef', 'NEF', 'svg', 'SVG', 'tiff', 'TIFF') and `media`.`album_id` in ('1', '2')

以下是关于它的解释:

Params
id  1
select_type SIMPLE
table   media
type    ALL
possible_keys   null
key null
key_len null
ref null
rows    10480
Extra   Using where

我应该在这种情况下添加索引,还是我唯一选择缓存结果,因为它不涉及多个表?

1 个答案:

答案 0 :(得分:1)

如果数据不经常变化,那么您应该缓存结果以加快交易速度。

如果数据定期更改 - 您应该优化查询以提高速度。