- 1
$istmount = mysql_num_rows(mysql_query("SELECT `cid` FROM `usermail` WHERE `date` >='".date('Y-m-d', strtotime('-1 month'))."'"));
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+61
$istmount = mysql_num_rows(mysql_query("SELECT `cid` FROM `usermail` WHERE `date` >='".date('Y-m-d', strtotime('-1 month'))."'"));
Подсчет количества подписчиков за прошлый месяц. Про count(*) автор, похоже, не в курсе...
И, чтобы не было вопросов про формат поля даты:
date - это varchar(11) :)
skryisli 15.06.2012 13:47 # +1
bormand 15.06.2012 13:56 # +1
skryisli 15.06.2012 14:06 # 0
santa_microbe 15.06.2012 13:49 # +2
Шикарно )
movaxbx 15.06.2012 14:53 # 0
bormand 15.06.2012 15:13 # 0
roman-kashitsyn 15.06.2012 15:18 # +1
bormand 15.06.2012 16:08 # 0
geust 15.06.2012 16:13 # 0
bormand 15.06.2012 16:14 # 0
GhOsTMZ 15.06.2012 14:17 # −1
DBdev 15.06.2012 15:24 # −2
bormand 15.06.2012 15:31 # +4
Вопросы есть?
geust 15.06.2012 15:37 # +1
Если вообще уместно это выводить для DDL...
bormand 15.06.2012 15:41 # +1
DBdev 15.06.2012 15:44 # +2
Или Вы можете доказать, что перформанс будет разный?
bormand 15.06.2012 15:50 # 0
Для not null полей скорее всего будут одинаковые планы в обоих случаях.
Для полей с null'ом, возможно, count(field) будет не быстрее count(*).
DBdev 15.06.2012 16:15 # +3
Мы ж уже выяснили, что field - идентификатор, суррогатный ключ и результаты будут ОДИНАКОВЫЕ.
> Для not null полей скорее всего будут одинаковые планы в обоих случаях.
Верно.
> Для полей с null'ом, возможно, count(field) будет не быстрее count(*).
А тут уже как статистика и индексы лягут.
bormand 15.06.2012 16:29 # +1
Где мы это выяснили? Вы просто выдвинули предположение "Да, если поле field - идентификатор, то разницы не будет.", к которому у меня никаких претензий нет.
>А тут уже как статистика и индексы лягут.
Да, согласен с вами, но count(field) в любом случае не будет быстрее count(*).
GhOsTMZ 15.06.2012 15:37 # −4
DBdev 15.06.2012 15:46 # −1
3.14159265 15.06.2012 21:32 # +3
А кстати так не во всех БД.
bormand 15.06.2012 21:36 # +3
UPD: Если похапшники всегда пишут count(поле), при этом не написав not null... то мне жалко сервера...
3.14159265 16.06.2012 17:37 # 0
bormand 15.06.2012 15:46 # +3
count(expression) -number of input rows for which the value of expression is not null