![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 6 Pomógł: 0 Dołączył: 3.01.2009 Ostrzeżenie: (0%) ![]() ![]() |
witam,
majac przykladowa tabele z wieloma kolumnami tabela 'tab': kolZid, kol1, kol2, kol3,...koln w ktorej znajduje sie duzo rekordow, jakie zapytanie zajmie mniej zasobow i bedzie szybsze? 1. SELECT count(*) FROM tab WHERE costam czy 2. SELECT count(kolZid) FROM tab WHERE costam z gory dziekuje za pomoc pozdrawiam (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) qwertys1 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 781 Pomógł: 256 Dołączył: 29.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
To drugie bedzie szybsze czyli
SELECT count(kolZid) FROM tab WHERE costam |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 254 Pomógł: 10 Dołączył: 8.11.2006 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Strzelałbym, że jednak count(*) jest szybsze, przynajmniej powinno, bo nie musi zwracać uwagi na wartości NULL.
Jednak jak już mowa o wydajności to poniższe zapytanie wykręci najlepszy wynik:
|
|
|
![]()
Post
#4
|
|
Grupa: Moderatorzy Postów: 15 467 Pomógł: 1451 Dołączył: 25.04.2005 Skąd: Szczebrzeszyn/Rzeszów ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 94 Pomógł: 14 Dołączył: 11.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Testowałem zapytania przy sześciu rekordach i oto wyniki:
trwało 0,000338 sekundy, a
trwało 0,000303 sekundy, tak więc zapytanie z polem jest szybsze! |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 14:00 |