-1
當我使用ORDER BY在大表(160000行)這樣的:如何以更快的速度訂購?
select HomeTeam,AwayTeam,FTR,FTHG,FTAG,HS,`AS`,`Date`,Elo1A,Elo1B,Elo2A,Elo2B,Elo3A,Elo3B,Elo4A,Elo4B,nElo1A,nElo1B,nElo2A,
nElo2B,nElo3A,nElo3B,nElo4A,nElo4B from historic
where (HomeTeam='Crystal Palace' or AwayTeam='Crystal Palace') and datediff('1994-08-20',Date)>0 order by `Date` desc limit 1
取時間爲1.078秒/ 0.000秒
在i不ORDER使用BY這樣:
select HomeTeam,AwayTeam,FTR,FTHG,FTAG,HS,`AS`,`Date`,Elo1A,Elo1B,Elo2A,Elo2B,Elo3A,Elo3B,Elo4A,Elo4B,nElo1A,nElo1B,nElo2A,
nElo2B,nElo3A,nElo3B,nElo4A,nElo4B from historic
where (HomeTeam='Crystal Palace' or AwayTeam='Crystal Palace') and datediff('1994-08-20',Date)>0 limit 1
獲取持續時間是0.187秒/0.00 0秒
問題是,如果沒有ORDER BY,我得到錯誤的結果:
水晶宮特蘭米爾1993年8月14日
,但正確的是ORDER BY這樣的:
沃特福德水晶宮1994-05-08
如何避免ORDER BY或以某種方式更智能地調用當前比賽的最後一場比賽?
與所有sql性能問題一樣......運行'EXPLAIN'而不是在黑暗中進行刺探。 – PeeHaa
如果表現令人失望,請嘗試支持切爾西。 – Strawberry
嚴重的是,看到正常化。數據庫表格不是電子表格。 – Strawberry