优化大型mySQL表

时间:2014-03-30 03:59:32

标签: mysql indexing

我有一张位置代码表,大约有230万行,没有索引。我的网站需要定期查询它,例如不同的州代码,按州过滤的县,按县和/或州过滤的城市等等...问题是因为它太大而且现在有索引,查询可能很慢。

我的问题是,我应该在列和我要查询的列的各种组合上制作索引吗?我应该制作什么指数?我在想象这些指数:

  • feature_id上​​的唯一/主要索引(显然)
  • state_numeric上的索引
  • state_numeric,county_numeric
  • 上的索引

enter image description here

Here's a link to the image of the table

1 个答案:

答案 0 :(得分:0)

最好在每个常用字段上制作单独的索引。请注意,更新和插入将稍微慢一些,因此不要生成比所需更多的索引。如果您正在运行大量常规使用特定字段组合的查询,那么复合索引也会很好。