Dodanie orderBy znacząco zwalnia zapytanie |
Dodanie orderBy znacząco zwalnia zapytanie |
1.05.2023, 21:11:04
Post
#1
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 16.08.2022 Ostrzeżenie: (0%) |
Cześć,
mam tabelę którą wypełniłem seederem i łącznie mam w niej około 500k rekordów. W Laravel generuję query builderem coś takiego:
i generuje to takie zapytanie:
Problem z tym wszystkim jest takie, że dodanie order by zwiększa czas wykonywania zapytania z 1,5ms na ponad 500ms co jest kolosalną różnicą. Powyższe zapytanie jest używane do livesearch. Co tutaj jest nie tak, że dodanie sortowanie aż tak mocno zwalnia zapytanie? |
|
|
2.05.2023, 07:15:36
Post
#2
|
|
Grupa: Zarejestrowani Postów: 7 Pomógł: 0 Dołączył: 16.08.2022 Ostrzeżenie: (0%) |
Ustawiłem indeksy na wyszukiwanych kolumnach
ALTER TABLE order_items ADD INDEX idx_order_items_id (id); ALTER TABLE order_items ADD INDEX idx_order_items_name (name); ALTER TABLE order_items ADD INDEX idx_order_items_quantity (quantity); ALTER TABLE customers ADD INDEX idx_customers_name (name); ALTER TABLE payment_methods ADD INDEX idx_payment_methods_name (name); ALTER TABLE shipping_methods ADD INDEX idx_shipping_methods_name (name); ALTER TABLE marketplaces ADD INDEX idx_marketplaces_name (name); mimo, że np. na name używam like %% to postanowiłem w celach testowych też założyć indeks. Niestety po wprowadzeniu tych zmian zapytania wykonują się w identycznym czasie. |
|
|
Wersja Lo-Fi | Aktualny czas: 25.05.2024 - 00:25 |