Problem wygląda następująco.
Mam bazę danych z około 15tys produktów. Każdy z nich ma ok 250 atrybutów.
Problem pojawia się przy zaawansowanym szukaniu, które uwzględnia szukanie po kilku z atrybutów. I tak standardowe zaawansowane zapytanie trwa nawet 16sek i potrafi analizować nawet do 12mln rekordów (Rows_examined)
Po usunięciu zapisu ORDER BY cały proces trwa mniej niż 1sek i wyniki zwracane są prawie w czasie rzeczywistym.
Zależy mi jednak na pozostawieniu sortowania, gdyż znacznie to ułatwia przeglądanie ofert.
Przykładowo jednym z atrybutów jest cena_produktu wiec nie wyobrażam sobie serwisu, który takiego sortowania nie udostępnia.
Czy jest jakiś sensowny sposób na zastosowanie ORDER BY cena_produktu ASC/DESC nie wpływający aż tak bardzo na czas całego zapytania? Dodam jeszcze, że stosuję paginację wiec w zapytaniu pojawia się LIMIT x, y
Myślałem nad pobraniem wszystkich danych (bez porcjowania LIMITem) i na rezultatach tego zapytania (czyli jak już mam właściwe rekordy) wykonać ORDER. Niestety jakoś z tym sobie nie mogę poradzić.
Będę wdzięczny za każdą, nawet najmniejszą wskazówkę :)