Wydaje mi się, że jest to przedwczesna optymalizacja, ponieważ nasza aplikacja nie została jeszcze wydana. Zasugerowałem monitorowanie wolnych zapytań po uruchomieniu, a następnie odpowiednio dodać indeksy.
Nie możesz traktować użytkowników końcowych i środowiska produkcyjnego jak zapewniania jakości. Innymi słowy, mówisz, że odkryjesz to w produkcji. Nie sądzę, żeby to była właściwa droga, i widzę, że takie podejście każdego dnia jest strasznie złe .
Musisz pamiętać o jednej rzeczy, ponieważ nie można tego pomalować szerokim pędzlem.
Jakie jest twoje wspólne obciążenie pracą ?
Może to zabrzmieć oczywisto lub nudno, ale w praktyce jest znaczące. Jeśli masz 10 zapytań, które stanowią 98% twojego obciążenia (dość powszechne, wierz lub nie), moja rekomendacja byłaby trudną analizą przed produkcją . Przy realistycznych i reprezentatywnych danych upewnij się, że te 10 zapytań jest tak dobrych, jak to tylko możliwe ( idealne to strata cennego czasu i prawie nieosiągalne).
W przypadku pozostałych 200 zapytań, które stanowią 2% obciążenia , są to te, które najprawdopodobniej nie są warte wiele wysiłku i będą stanowić podstawowe zagadnienie rozwiązywania problemów w produkcji. To także rzeczywistość i wcale nie taka straszna zła rzecz. Ale to nie oznacza ignorowania najlepszych praktyk indeksowania lub dokonywania szacunkowych założeń dotyczących odzyskiwania danych.
Dobrą praktyką jest ustalanie wydajności bazy danych przed produkcją. W rzeczywistości istnieje stosunkowo powszechne stanowisko dla tego typu rzeczy zwanych deweloperskim DBA .
Ale...
Niektórzy posuwają się za daleko i wariują dodając indeksy „na wszelki wypadek”. Ktoś poleca to brakujący indeks? Dodaj go i cztery inne odmiany. Również zły pomysł. Musisz nie tylko pomyśleć o odzyskiwaniu danych, ale co z modyfikacją danych? Im więcej indeksów masz na stole, ogólnie mówiąc, tym więcej masz narzutu podczas modyfikowania danych.
Jak większość rzeczy, istnieje zdrowa równowaga.
Jako zabawna mała uwaga dodatkowa ... Liczba mnoga „Index”
„Wskaźniki” są dla ludzi z branży finansowej
„Indeksy” są dla nas