我有一个大约有3300万行的数据库表。我正在尝试优化我的查询。现在我只使用一个较小版本的数据集,其中有800万行。如果我运行这个:
SELECT DISTINCT c_size FROM data WHERE c_name = 'jeans'
它将在176秒内返回数据如果我运行:
EXPLAIN SELECT DISTINCT c_size FROM data WHERE c_name = 'jeans'
这就是结果。
id: 1
select_type : SIMPLE
table : data
type : index
possible_keys : NULL
key : c_size
key_len : 5
ref : NULL
rows : 14876049
Extra : Using where
你有关于我如何优化查询、表或数据库的建议吗?数据库正在通过MAMP运行。我用Sequel Pro管理数据库。
在数据表上添加以下索引可能有助于提高性能:
CREATE INDEX ix_data_c_name ON data (c_name);