mysql—选择不同行组合的高效查询

9lowa7mx  于 2021-06-23  发布在  Mysql
关注(0)|答案(0)|浏览(193)

我在一个数据库中有3个表:防火墙、接口和更改。
防火墙有两列: id 以及 name .
接口有3列: id , firewall id 以及 name 哪里 firewall id 是防火墙主键。
更改有多个列,包括 firewall id 以及 interface id . 我们把这些列称为 changes.id , firewall id , interface id ,
port src ,和 dest 哪里 changes.id 是更改主键和自动增量。 changes 最终将有数千或数百万行的数据。
我需要一个查询,将选择的唯一组合的最后一组 firewall id , interface id , src , dest ,和 portchanges . 我最后说,因为随着时间的推移,很可能会有完全相同的。
我有一个查询可以做到这一点,但我认为当这个表变大时,它的cpu开销会非常大:

SELECT DISTINCT f.name, i.name, changes.a, changes.b, src, dest, port FEOM changes INNER JOIN firewall f ON changes.a = f.id INNER JOIN interface i ON changes.b = i.id ORDER BY changes.id DESC;

有没有更好的办法?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题