gpt4 book ai didi

MySql:查询优化或表的结构优化

转载 作者:行者123 更新时间:2023-11-30 22:41:25 25 4
gpt4 key购买 nike

我需要一些关于 mysql 的帮助。

让我们告诉你。我有两个表:nodes(250 000 行):
编号 |姓名

和表(~400 000 行):
编号 |群组编号 | node_id - index(node_id) 也许还有 index(group_id)

问题查询:
select count(*) from nodes n inner join groups g on g.node_id = n.id\
其中 g.group_id 在 (1,20, 30...);

执行时间:0.50 秒,这对我来说是个问题。

我如何优化查询以计算行数然后进行选择?我可以在哪里放置索引或新字段以获得好处?

最佳答案

`SHOW CREATE TABLE` for each table

不要为多对多表的 id 而烦恼。确保在这样的表中有双向索引。

为什么您的问题查询需要接触节点?这将计算每个组中的节点数,不是吗?

SELECT  group_id,
COUNT(*)
FROM groups
WHERE group_id IN (...)
GROUP BY group_id;

:PRIMARY KEY(group_id, node_id), INDEX(node_id, group_id)

如果这不是您要查找的内容,请描述查询。

关于MySql:查询优化或表的结构优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31050859/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com