![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 113 Pomógł: 1 Dołączył: 13.05.2003 Skąd: Wrocław Ostrzeżenie: (0%) ![]() ![]() |
Witam, robię z kolegą sklep internetowy i on to zrobił na MS SQL a ja na MySQL.
Nie wiem czy dobrze rozumiem ale zapytanie jakie kolega mi podesłał działa na MS SQL błyskawicznie, a identyczne zapytanie z tymi samymi polami i danymi na MySQL trwa i trwa i trwa. Pola oczywiście mają ustawione indeksy ale to nie przyspiesza. Czy takie zapytanie jest prawidłowe dla MySQL-a czy w ogóle występuje coś takiego jak OR EXISTS ? da się to zapytanie przerobić pod MySQL-a ?
Ten post edytował termin 6.06.2010, 16:54:36 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 855 Pomógł: 145 Dołączył: 17.07.2008 Skąd: High Memory Area Ostrzeżenie: (0%) ![]() ![]() |
Konstrukcja występuje, bo przecież błędu składniowego nie dostałeś. Problem polega na tym, że obydwa podzapytania są zkorelowane z zapytaniami zewnętrznymi. Może MSSQL potrafi to ładnie zoptymalizować, ale MySQL w tym momencie na pewno nie.
Prawdopodobnie da się to przepisać na bardziej wydajną postać. Musiałbyś napisać jakie masz tabele i co to zapytanie ma wyciągać. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 19:28 |