Прямо сейчас я дебатирую, использовать ли COUNT(id)
или столбцы "количества". Я слышал тот InnoDB COUNT
является очень медленным без a WHERE
пункт, потому что это должно заблокировать таблицу и сделать полное индексное сканирование. Это то же поведение при использовании a WHERE
пункт?
Например, если у меня есть таблица с 1 миллионом записей. Выполнение a COUNT
без a WHERE
пункт потребует поиска 1 миллиона записей с помощью индекса. Будет запрос становиться значительно быстрее при добавлении a WHERE
пункт сокращает число строк, которые соответствуют критериям от 1 миллиона до 500 000?
Рассмотрите страницу "Badges" на Так, был бы, включая столбец badges
таблицу называют count
и постепенное увеличение его каждый раз, когда пользователь заработал тот конкретный значок быть быстрее, чем выполнение a SELECT COUNT(id) FROM user_badges WHERE user_id = 111
?
Используя MyIASM не опция, потому что мне нужны функции InnoDB для поддержания целостности данных.