szczabik
12.07.2009, 12:13:37
Witam
Chciał bym się zapytać co jest szybsze ?
SELETC COUNT(id) FROM tabela
Czy
SELETC COUNT(*) FROM tabela
Lepiej dawać * czy nazwę kolumny ?
Spawnm
12.07.2009, 12:16:11
Sprawdź i nam powiedz , przecież sam możesz to zobaczyć :/
blooregard
12.07.2009, 12:19:05
Sprawdź dla porównania jescze tak:
SELECT SQL_CALC_FOUND_ROWS * FROM tabela; SELECT FOUND_ROWS()
szczabik
12.07.2009, 12:29:03
Dzięki za pomoc jakbym sam mógł sprawdzić to bym nie pisał. Nawet głupiej odpowiedz co jest szybsze jest ciężko uzyskać.
TheaSiX
12.07.2009, 12:55:40
Sprawdź czas wykonywania skryptu używając funkcji microtime(). Pobierasz czas przed i po wykonaniu skryptu i odejmujesz wartości od siebie, wtedy dostajesz czas wykonywania skryptu.
Ja sprawdziłem u siebie, zaledwie na 80 wpisach w bazie i większość czasu (id) jest szybsze, ale czasami (*) bije na głowę. Myślę, że trzeba by to przetestować przy >10000 rekordach..
pyro
12.07.2009, 12:57:38
A ja bym wybrał pierwszą z brzegu metodę, bo jak by na to nie patrzeć różnice czasowe są tak znikome, że szkoda sobie zawracać tym głowę co jest szybsze
Wicepsik
12.07.2009, 13:09:36
SELECT count(*) FROM online
Strona wygenerowana w 0.00422 sek.
SELECT COUNT(id) FROM online
Strona wygenerowana w 0.00441 sek.
Przy 22686 rekordach.
<?php
?>
<?php
mysql_query('SELECT SQL_CALC_FOUND_ROWS * FROM online'); ?>
Strona wygenerowana w 0.01288 sek.