Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Optymalność w bazie danych.
Rid
post
Post #1





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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


Witam.Muszę w bazie danych ułożyć zapytanie do bazy danych zliczające powtarzające się elementy z trzech kolumn.Mianowicie mam dylemat,czy do tego celu ułożyć 3 selecty z count,czy jeden select z count i z distinct(widziałem przykłady na google)lub z union.Czy 3 proste zapytania są wydajniejsze od jednego bardziej złożonego zapytania?(IMG:style_emoticons/default/questionmark.gif)
Czy, ktoś testował jak to wygląda w rzeczywistości?(IMG:style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Zyx
post
Post #2





Grupa: Zarejestrowani
Postów: 952
Pomógł: 154
Dołączył: 20.01.2007
Skąd: /dev/oracle

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


35 kolumn? Czy to aby nie za dużo? Wydajność nie zależy tylko od struktury zapytania, ale też od tego, ile razy baza będzie musiała sięgać do dysku i co będzie robione w międzyczasie. Aby zrobić COUNT(), trzeba wczytać strony z poszczególnymi wierszami do pamięci. Inne wyniki Ci wyjdą, jeśli liczba kolumn będzie mała, inne, jeśli duża, inne, jeśli baza będzie w międzyczasie wykonywać jeszcze inne zadania (one też mogą potrzebować pamięci, zatem jest mniejsza szansa, że dane interesujące klauzulę COUNT() już w niej będą).

Ten post edytował Zyx 18.07.2011, 06:02:04
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 15.10.2025 - 04:06