есть лучший синтаксис?
blockquote>Нет. CSS '
or
(,
) не допускает группировки. Это, по сути, логический оператор с наименьшим приоритетом в селекторах, поэтому вы должны использовать.a.c,.b.c
.
Это означает, что вы сделали запрос, который не делает ничего, кроме подсчета количества строк в таблице, и эта таблица является таблицей MyISAM. MyISAM-таблицы хранятся с отдельным подсчетом строк, поэтому для выполнения этого запроса MySQL вообще не нужно смотреть ни на одну из строк таблицы. Вместо этого он немедленно возвращает предварительно рассчитанное количество строк. Следовательно, доступ к таблице "оптимизирован" и запрос выполняется молниеносно.
То же самое не произойдет и на других движках хранения в MySQL, таких как InnoDB. Но на самом деле, вы хотите использовать InnoDB, а не MyISAM в большинстве случаев по целому ряду других причин. (И даже без оптимизации количества строк такой запрос очень, очень быстр.)
select count(comment_count) from wp_posts;
Это то, что Вы действительно хотели сделать? Это то же самое, что и просто SELECT COUNT(*)...
(предполагая, что comment_count
не может быть NULL
, чего не может быть, иначе вы бы не получили оптимизацию). Если вы хотите получить суммарное количество comment_count
s, то вы должны использовать SUM(comment_count)
, и вы не получите поведение 'оптимизировано прочь'.
Это означает, что таблица полностью оптимизирована вне запроса. Лучше и быть не может.
.Трудно сказать, не видя вашего запроса, но это было бы последствием, если бы вы, например, выбрали постоянное значение --
SELECT 1 FROM atable
или чтобы ответить на вопрос, не требуется одна или несколько ваших таблиц.
.