Chodzi o takie zapytanie:
SELECT
Gracze.ID as graczid,
Klany.Nazwa as klan,
Gracze.Nazwa as nazwa,
Gracze.Rasa as rasa,
GraczeStats.Level as level,
GraczeStats.Exp as exp,
FROM
Gracze
LEFT OUTER JOIN
GraczeStats ON (Gracze.ID = GraczeStats.ID)
LEFT OUTER JOIN
KlanyCzlonkowie ON (Gracze.ID = KlanyCzlonkowie.CzlonekID)
LEFT OUTER JOIN
Klany ON (KlanyCzlonkowie.KlanID = Klany.ID)
ORDER BY
GraczeStats.Level DESC,
GraczeStats.Exp DESC,
GraczeStats.Kasa DESC,
LIMIT 1000
Przy 10 000 Graczach (tyle samo w GraczStats relacja 1:1) przy 3000 KlanyCzlonkowie i przy 400 Klan przy pierwszym wywołaniu zapytania strasznie się długo wykonuje (jak się zdąrzy zcachować to już jest ok) . Natomiast w mssqlu zrobiłem niemal identyczne zapytanie (!!!) oczywiście ze zmiana składni etc i moje zapytanie wykonuje się w setne sekundy. Dlaczego tak się dzieje? czy Mssql niebo lepszy od Mysql?
Mysql wersja:
innodb_version 5.5.44
version 5.5.44-cll-lve
Mssql wersja:
Microsoft SQL Server 2014 - 12.0.4100.1