Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 0 Dołączył: 25.02.2013 Ostrzeżenie: (0%)
|
Witam,
Zrobilem skrypt ktory poprawia mi wczesniej dodane wyniki tak jak tego chce ale z racji niskich umiejetnosci w temacie MySQL zrobilem to dosc prymitywnym sposobem tworzac kilkanascie/kilkadziesiat praktycznie takich samych zapytan rozniacych sie tylko 1 szczegolem. Czy przy malej ilosci wynikow i czestotliwosci korzystania z tego skryptu ma to jakies wieksze znaczenia w obciazeniu bazy i powinienem to wpakowac wszystko do 1 zapytania czy poza wzlgedami estetycznymi i powiekszonym o kilkanascie linijek pliku nie ma to znaczenia czy operacje beda wykonywane 1 zapytaniem czy zostanie to podzielone na kilkanascie?
|
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 282 Pomógł: 89 Dołączył: 12.04.2011 Ostrzeżenie: (0%)
|
Podstawowe pytanie - czy na pewno potrzebujesz trzymać miejsca w bazie danych? Przecież można bardzo szybko uzyskać aktualne dane z bazy kiedy tylko je potrzebujesz:
Takie zapytanie daje nam całą listę dla danej konkurencji, posortowaną wg wyników. Przy indeksie (id_konkurencji, wynik,id_zawodnika ) będzie to działać natychmiast nawet na całkiem sporej bazie danych. Trzymanie w bazie miejsca ma dość poważną wadę - za każdym razem gdy dojdzie nowy rekord trzeba uaktualnić wszystkie miejsca dla tej konkurencji. Poza tym jeśli już faktycznie musisz je trzymać to lepiej w osobnej tabeli, a na tabeli, do której wpisujesz wyniki utworzyć trigger, który robi update miejsc. A jeśli już bardzo, ale to bardzo musisz mieć tak jak podajesz to lepiej zebrać całość posortowanych wyników dla danej konkurencji jednym zapytaniem do tablicy w php i złożyć w pętli jedno większe zapytanie z update, korzystając z konstrukcji CASE WHEN. |
|
|
|
lexis72 1 rozbudowane zapytanie czy wiele pojedynczych 26.04.2013, 18:08:53
bpskiba Ta kwestia ma bardzo istotne znaczenie!
Wydajn... 27.04.2013, 07:57:35
lexis72 PMIR13 pomieszales strasznie
To co najbardziej c... 28.04.2013, 11:56:31 ![]() ![]() |
|
Aktualny czas: 31.12.2025 - 14:31 |