Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL] Wyciągać 1 czy wszystkie zmienne?
El Wieczor
post 22.05.2007, 19:27:57
Post #1





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 4.05.2007

Ostrzeżenie: (0%)
-----


Jest tabela, w której wiersz ma kilka pól. Co jakiś czas robiony jest update na wierszu i z każdym updatem zmieniają się wartości WSZYSTKICH pól. Wiersz będzie często czytany, ale rzadko modyfikowany.
Po jedym odczytaniu dane idą do sesji, jeśli dane się zmieniły od ostatniego czytania, to zastępują te w sesji.

Czy wydajniejsze będzie za każdym odświeżeniem strony sprawdzić tylko jedną wartość i jeśli się zmieniła, to zrobić drugi select dla wszystkich, czy za każdym razem czytać wszystkie?
Ratio select:update będzie coś koło 20:1.
Go to the top of the page
+Quote Post
prond
post 23.05.2007, 08:32:53
Post #2





Grupa: Zarejestrowani
Postów: 254
Pomógł: 10
Dołączył: 8.11.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Na pewno szybciej będzie za każdym razem zaciągać cały rekord i nadpisywać dane w sesji.

Sprawdzanie jednego pola, potem zaciąganie całego rekordu jest trochę bez sensu (jeżeli dobrze zrozumiałem Twój pomysł) :
- robisz wtedy 2 selecty do bazy zamiast jednego
- masz dodatkową operacje porównania w aplikacji


--------------------
--------------------------------------------------------------------------------
weblog.axent.pl
--------------------------------------------------------------------------------
Go to the top of the page
+Quote Post
snipe
post 23.05.2007, 08:46:50
Post #3





Grupa: Zarejestrowani
Postów: 135
Pomógł: 1
Dołączył: 5.10.2005
Skąd: Opole/Chorzów

Ostrzeżenie: (0%)
-----


@prond: zauważ, że dane idą do update'u bardo rzadko, tak więc z jakiej racji pobierać za każdym razem całość?? Załóżmy że przez 19 razy wartość się nie zmieniła a tabla posiada 20 wierszy. Nie zmieniając tabeli musimy pobrać aż 380 wierszy. A przy sprawdzaniu pojedynczym niech zmieni się jeden wiersz, to pobierzemy tylko 1 wiersz. Przy założeniu, że dobrze zrozumiałem o co chodzi autorowi tematu winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
prond
post 23.05.2007, 11:58:50
Post #4





Grupa: Zarejestrowani
Postów: 254
Pomógł: 10
Dołączył: 8.11.2006
Skąd: Warszawa

Ostrzeżenie: (0%)
-----


Jakoś mi się utkwiło, że to jeden wiersz i wtedy nie ma co się pieścić tylko zrobić to tak jak napisałem.

Jeżeli pobieranych jest wiele rekordów do też jeden SELECT, ale z warunkami. Jak wynik jest pusty to nie nadpisujemy danych w sesji.


--------------------
--------------------------------------------------------------------------------
weblog.axent.pl
--------------------------------------------------------------------------------
Go to the top of the page
+Quote Post
El Wieczor
post 24.05.2007, 15:08:33
Post #5





Grupa: Zarejestrowani
Postów: 22
Pomógł: 0
Dołączył: 4.05.2007

Ostrzeżenie: (0%)
-----


Sprawdzany jest tylko jeden rekord. Czyli lepiej 20 selectów całości, niż 19 jednego pola i jeszcze jeden select całości, jak zrozumiałem.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.06.2025 - 06:00