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? |
|
|
|
![]() |
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. |
|
|
|
Intenso Dodanie orderBy znacząco zwalnia zapytanie 1.05.2023, 21:11:04
Tomplus Może problem leży po stronie kluczy (ich braku) w ... 1.05.2023, 23:09:06
trueblue A w tabeli orders są założone klucze? 2.05.2023, 07:56:03
Intenso Tak, orders posiada indeksy na customer_id, shippi... 2.05.2023, 09:09:28
trueblue Wykonaj EXPLAIN SELECT... bezpośrednio na bazie. R... 2.05.2023, 09:16:16
Intenso Tak wygląda z orderBy
a tak bez:
Szczerze m... 2.05.2023, 09:40:34
trueblue Spróbuj sprawdzić zapytanie bez warunków OR (z ORD... 2.05.2023, 09:58:22
Intenso Usunięcie wszystkich warunków zmniejsza czas zapyt... 2.05.2023, 18:46:52
nospor 1) jak juz mowiono, jak nie okresliles search to n... 3.05.2023, 11:26:03
trueblue Cytat(Intenso @ 2.05.2023, 19:46:52 )... 3.05.2023, 12:46:36
viking Albo jeśli to livesearch zastosuj typowe do tego r... 3.05.2023, 17:05:17 ![]() ![]() |
|
Aktualny czas: 14.12.2025 - 17:53 |