2014-04-15 4 views
0

Хорошее выведение! Есть ли способ получить общее количество записей в модели django, не считая записей? Я боюсь, что это неэффективно с большими наборами данных ... Что-то вроде того, что делает база данных для доставки идентификаторов автоинкремента?Модель, общее количество записей

Редактировать: Меня интересует только приблизительная оценка фигуры, и удаления будут очень редкими.

ответ

1

Я действительно не знаю, что вы имеете в виду о неэффективности. Базы данных очень оптимизированы с индексами, чтобы делать такие вещи, как подсчет. Это:

MyModel.objects.count() 

переводит к простому SELECT COUNT(...), который является столь же эффективным, как он получает. Вы не можете просто взять наивысший автоинкрементный идентификатор, поскольку он не учитывает удаленные записи: вполне возможно, что в таблице может быть только одна строка, но для этой строки есть идентификатор в миллионах или миллиардах.

+0

Мне нужна только приблизительная оценка фигуры в базе данных с очень небольшим количеством exepected делеций, но я полагаю, что вы правы – SverkerSbrg

Смежные вопросы