У меня есть простой запрос вроде:
select count(*) from table
Можно ли ускорить MySQL, выполнив:
select count(id) from table
Имеет ли это какое-то значение с точки зрения скорости?
С наилучшими пожеланиями,
Вы можете попытаться получить счет из information_schema
select TABLE_ROWS from information_schema.tables where TABLE_SCHEMA = '$db' and TABLE_NAME = '$tbl';
Нет, если id - ваш первичный ключ.* просто отобразится на ваш первичный ключ.count(id) = count(*)
id
*
count(id)
count(*)
Если идентификатор "не нуль", нет, это не будет иметь никакого значения.
Если идентификатор обнуляем, то это другой запрос и (не всегда) будет давать тот же результат.
Если id является вашим первичным ключом, то нет, он не будет, так как MySql все равно будет использовать первичный ключ под крышками.Если id не является первичным ключом, это может фактически сделать запрос немного медленнее.