【发布时间】:2019-06-04 13:40:41
【问题描述】:
我的 MySQL 数据库中有 2 个表。
让我们打电话给第一个main,第二个final。
TABLE `main` has the structure | TABLE `final` has the structure
|
`id` --> PRIMARY KEY (Auto Increment) | `id` --> PRIMARY KEY (Auto Increment)
| `id_main` --> ?? (Need help here)
|
id | name | info | id | id_main | name | info(changed)
--------------------- | ---------------------------------------
1 | Peter | 5,9 | 1 | 2 | Butters | 0.3,34
2 | Butters | 3,3 | 2 | 4 | Stewie | 1.2,4.4
3 | Stan | 2,96 | 3 | 1 | Peter | 5.7,0.9
4 | Stewie | 1,84 | 4 | 3 | Stan | 4.8,0.74
分析main 中的数据后,将结果放入final。
如您所见,final 有一个额外的列 (id_main),它指向 main.id
实际上这两个表各有 1 亿多行,我的问题是在执行 SQL 查询时出现的。
final 尤其是 (id & id_main) 应该如何配置,以便从main 查询到final 最快。
我可以取消final.id(主键,自动增量)并保留
final.id_main(作为唯一索引?)
或
我应该保留id 作为主键 (AI) 和 final.id_main 作为唯一索引吗?
我会打这样的电话:
int id_From_Main= 10000;
SELECT `id_main` FROM `final` WHERE `id`='"+id_From_Main+"'
【问题讨论】:
-
查询
SELECT id_main FROM final WHERE id='"+id_From_Main+"'的目的是什么?您正在尝试通过来自 main 的 ID 从 main 中选择 ID 的值。 -
请提供您需要帮助的
SHOW CREATE TABLE和SELECT。 -
或者您的问题是关于如何有效地将
INSERT100M 行转换为final?还是你使用UPDATE?
标签: mysql database performance primary-key database-indexes