0

嗨我有一个主要的表:

PRIMARY KEY(`x`,`y`,`Version`,`Revision`)

在桌子上像:

`x`,`y,`version`,`revision`,`data`

x, y,version并且revision都从零开始计数。

我试图弄清楚如何返回最高revision和它data的每一个version,给定一个特定的xy。我可以制作哪些索引来加快速度?

4

1 回答 1

2

试试这个查询 -

SELECT t1.* FROM table t1
  JOIN (SELECT Version, MAX(Revision) Revision FROM table GROUP BY Version) t2
    ON t1.Version = t2.Version AND t1.Revision = t2.Revision

...为了加快查询速度,您可以在 Version 和 Revision 字段上添加索引。无论如何-您应该使用EXPAIN SELECT...语句对其进行分析。

于 2012-11-22T07:23:29.733 回答