【发布时间】:2011-01-16 22:25:08
【问题描述】:
我有一个 MySQL InnoDB 表 events,有 3 行:
event_id ---> int
start ---> long
end ---> long
我写了一个简单的查询来获取某个范围内与另一个事件冲突的所有事件:
select a.* from events a, events b
where a.event_id != b.event_id and
a.start < b.end and
b.start < a.end
该表有大约 10K 行,执行时间大约为 2 秒。在尝试调整表格以提高性能时,我在 start 和 end 列上添加了索引。出于某种原因,这显着地降低了性能 5 倍。有谁知道或有任何想法,为什么添加这些索引会对性能造成如此糟糕的影响?
【问题讨论】:
标签: sql mysql performance innodb