优化搜索

时间:2014-06-14 12:43:10

标签: mysql

我正在研究一个项目,我在MySQL中遇到了一些优化问题。 我的主表看起来像是大约1M行:

+----+------+---------+ 
| id | Name | city_id |  City_id is between (0, 2000).
+----+------+---------+

我会做很多查询,如:

  1. SELECT * FROM table WHERE city_id = x
  2. SELECT * FROM table WHERE city_id = x AND id = rand()
  3. 它只是向您展示此数据库的主要操作

    如果我要制作2k小桌子,这将是一个很好的解决方案吗?

1 个答案:

答案 0 :(得分:3)

我认为您正在寻找的解决方案是一个索引。试试这个:

create index idx_table_city_id on table(city_id, id);

SQL旨在处理大型表。您希望将数据从一个表拆分为多个表的原因很少。我能想到的唯一好处是需要这样做以满足安全要求。

相关问题