мне кажется если не блокировать таблицу перед запросом, то точного количества быть не может в принципе, в условиях конкурентного доступа
select count(*) же выдает точное
ну, можно в отдельную очередь складывать задачи на инкремент и довльно быстрый eventual consistency получить
на время начала запроса - о том и речь )
ну вот я и спрашиваю насколько он дорогой по сравнению с отдельной таблицей со счетиками
конечно на какой-то момент времени
а, ну так это же ок
ну вот если наложить эксклюзивную блокировку на таблицу, то будет честный каунт
он и без блокировки честный
это ок, но select count - это полное сканирование индекса. Это вопрос к вам уже, какого размера у вас таблицы и как часто нужен каунт, но в целом это плохая практика
он нечестный в том смысле, что на момент возвращения результата этот каунт уже не соответствует действительности.
вы понимаете как работают уровни изоляции транзакций?
какой из них?) я понимаю, да
ну так что вы несете про нечестный? он честный именно что
Обсуждают сегодня