我有此查询未完成(我想服务器内存用完)这个查询为什么不运行?
SELECT fOpen.*, fClose.*
FROM (
SELECT of.*
FROM fixtures of
JOIN (
SELECT MIN(id) id
FROM fixtures
GROUP BY matchId, period, type
) ofi ON ofi.id = of.id
) fOpen
JOIN (
SELECT cf.*
FROM fixtures cf
JOIN (
SELECT MAX(id) id
FROM fixtures
GROUP BY matchId, period, type
) cfi ON cfi.id = cf.id
) fClose ON fClose.matchId = fOpen.matchId AND fClose.period = fOpen.period AND fClose.type = fOpen.type
这是解释的那样:“的”
这些2级的子查询和'cf'大约需要1.5秒才能运行,如果我分别运行它们。
'id'是一个PRIMARY INDEX,并且有一个名为'matchPeriodType'的BTREE INDEX,它具有这3个列的顺序。
更多信息:MySQL 5.5,512MB的服务器内存,并且该表有大约400k条记录。
不确定,但''是保留字。这可能没有关系,因为MySQL会根据它使用的上下文知道它是标识符,但通常不要将保留字用作别名。 – GolezTrol
它可能是内存。 512MB对于服务器来说很少。 – GolezTrol
“'''关键字没有问题,但我明白你的观点,谢谢。 – aLfa