- 1
- 2
- 3
// Count rows in news table
$rows = $db -> query('SELECT * FROM news');
$count = count($rows)
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+179
// Count rows in news table
$rows = $db -> query('SELECT * FROM news');
$count = count($rows)
Увидел в одном самопальном движке.
miraage 14.04.2011 07:53 # +1
Surendil 17.04.2011 09:11 # +2
поправил у себя )
Uchkuma 14.04.2011 08:44 # +1
nobody 14.04.2011 09:17 # +1
koodeer 14.04.2011 18:37 # +1
Lure Of Chaos 14.04.2011 09:22 # +4
3.14159265 14.04.2011 11:14 # +1
а я тут как дебил пытаюсь взять число записей из системных таблиц
это потому что count(*) тоже не шибко быстрый
вот же оно решение!
Uchkuma 14.04.2011 16:12 # +1
volatile 14.04.2011 18:57 # +1
guest 17.04.2011 20:05 # −1
jQuery 17.04.2011 20:08 # −3
3.14159265 14.04.2011 11:22 # +1
oh shi~
Shitafaka 16.04.2011 13:53 # 0
На InnoDB таблице с ~60000 записей - быстрее на ~0.02 секунды.
На таблице MyISAM с ~90000 записей - быстрее на ~0.06 секунд.
Так что дружно юзаем count(*) :)
Для сравнения также потестил говнокодерский вариант из сабжа.
Он медленнее в 17-18 раз.
bugmenot 16.04.2011 15:00 # +1
ибо GDBMS
Shitafaka 16.04.2011 16:03 # 0
По каждому из тестов сделал по 50 прогонов. Скрипт запускал консольно. MySQL-caching предварительно убил. Коннектился по named-pipe (А значит задержки на установку соединения можно в расчёт не брать).
bugmenot 16.04.2011 16:18 # +1
на оракле прогони