[MySQL][PHP] Lepiej więcej czy mniej ale bardziej zawiłe. |
[MySQL][PHP] Lepiej więcej czy mniej ale bardziej zawiłe. |
27.08.2021, 19:48:18
Post
#1
|
|
Grupa: Zarejestrowani Postów: 208 Pomógł: 3 Dołączył: 13.07.2009 Skąd: Tarnów Ostrzeżenie: (0%) |
Witam wszystkich
od kilku godzin szukam odpowiedzi na pytanie: Czy lepiej jest wykonać jedno bardzo rozbudowane, zawiłe zapytanie do MySQL czy raczej kilka mniejszych? Pytam przede wszystkim o efektywność czasową, obciążenie serwera, czas reakcji. Z założenia SQL to język prostych zapytań, a korzystając z ciężkiego kalibru połączenia wielu tabel, relacji itd przestaje być powiedzmy prostym. Czy to ma w ogóle jakiś wpływ na szybkość działania? Na marginesie - mówimy tu o bardzo dużej bazie danych, z blisko 100 tabel mocno ze sobą współpracujących których jednak nie dało się / nie można było połączyć w mniejszą ilość. Z góry dziękuję za pomoc. Pozdrawiam. -------------------- Prywatna koncepcja pasji - SprawdzAuto.info
|
|
|
28.08.2021, 18:05:49
Post
#2
|
|
Grupa: Zarejestrowani Postów: 515 Pomógł: 63 Dołączył: 27.08.2012 Ostrzeżenie: (0%) |
Napisz taką i taką wersje i sprawdź która lepiej działa i ewentualnie wrzuć obydwie tutaj to coś może uda się jeszcze usprawnić.
|
|
|
29.08.2021, 13:12:22
Post
#3
|
|
Grupa: Zarejestrowani Postów: 208 Pomógł: 3 Dołączył: 13.07.2009 Skąd: Tarnów Ostrzeżenie: (0%) |
Na chwilę obecną obie wydają się działać w bardzo podobnym czasie.
Czas zapytania dla obu wersji to średnio 1,000322 sekundy - chociaż aktywacja jednego pliku potrafi nam zjeść wszystkie zasoby serwera na kilkadziesięt sekund co przy całości osadzonej na dyskach SSD, 128GB RAMu i fajnych dwóch Xeonach robi wrażenie. Ale, problemem jest coś innego - każdego dnia baza powiększa się już nie liniowo a wykładniczo. Na początku roku baza miała 180MB i przyrost był na poziomie kilkset kB, obecnie są to już dwu cyfrowe MB, a bywały dni, że przyrost bazy danych wynosił nawet równowartość jej wielkości z początku roku! W dzisiejszych czasach, gdzie każdy ma w domu dysk 1TB i więcej, liczba kilkunastu MB przyrostu dziennego wydaje się malutka, ale proszę pamiętać, że mówimy tu o - jakby na to nie popatrzył - tekście i coraz większym przyroście dziennym. To nie są zdjęcia czy filmy, to tekst. Który zaczyna być kolosalnie duży. I dlatego zadałem pytanie - zanim będzie problem. Czy warto się pchać w dużą ilość prostych zapytań czy w małą ilość wielkich i skomplikowanych zapytań? -------------------- Prywatna koncepcja pasji - SprawdzAuto.info
|
|
|
29.08.2021, 18:30:13
Post
#4
|
|
Grupa: Moderatorzy Postów: 36 459 Pomógł: 6297 Dołączył: 27.12.2004 |
To naprawde zalezy.
Ja generalnie jestem zwolennikiem malej ilosci zapytan ale raz mialem taka sytuacje ze jedno zapytanie niestety bylo nieoptymalne. Rozbilem to na kilka mniejszych i bylo o niebo lepiej. Takze naprawde zalezy -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
30.08.2021, 09:51:25
Post
#5
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Nie podałeś żadnych konkretów więc odpowiem przewrotnie - to zależy.
Jakie to zapytania, jakie dane, ile tych danych, z jakiego okresu, czy baza to pojedyńcza maszyna czy cały Cluster, czy może zwykła replikacja. Zobacz Explain z obu zapytań, jakie wersje MySQL (wersje, czy to Percona, Maria czy może czysty mysql), jakieś optymalizacje na configach były robione, jak wygląda ilość indeksów.... Mogę tak do rana wymieniać. Nikt nie da Ci tu odpowiedzi na pytanie 1 czy wiele zapytań bo to zależy od wielu czynników. Ba nawet od ilości parametrów w zapytaniu.... |
|
|
Wersja Lo-Fi | Aktualny czas: 6.05.2024 - 03:56 |