我有一个大约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管理数据库。
答案 0 :(得分:1)
在数据表中添加以下索引可能有助于提高性能:
CREATE INDEX ix_data_c_name ON data (c_name);