mysql - 搜索优化

标签 mysql

我正在做一个项目,我在 MySQL 的优化方面遇到了一些问题。 我的主表看起来像并且有大约 100 万行:

+----+------+---------+ 
| 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()

只是展示对这个数据库的主要操作

如果我要制作 2k 个小 table ,这会是一个好的解决方案吗?

最佳答案

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

create index idx_table_city_id on table(city_id, id);

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

关于mysql - 搜索优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24220040/

相关文章:

mysql - Django 无法在 RHEL 7 中配置 MySQL

mysql - 为什么我的右连接不起作用?

mysql - COUNT FUNCTION where 子句

php - 为什么我可以使用 localhost 连接到我的托管网站数据库?

mysql - 使用 MYSQL IF SELECT 2 个不同的数据集

mysql - INSERTing 到 mysql 表中以获取用户关系

mysql - 风 sails js : select records from mysql?

mysql - 无需程序启动mysql

MySQL SQL : SELECT (SELECT. .. 作为变量) FROM

mysql - 查询多个表并在另一个数据库表中更新结果