В Django .get () имеет лучшую производительность, чем .first ()? - PullRequest
0 голосов
/ 31 октября 2019

Реализация .first() в Django, кажется, помещает все элементы в список, а затем возвращает первый.

Является ли .get() более производительным? Конечно, база данных может просто вернуть один элемент, реализация .first() кажется неоптимальной,

1 Ответ

1 голос
/ 31 октября 2019

Не вижу смысла так думать, хотя на самом деле я не профилировал.

Нарезка на наборы запросов Django реализована путем изменения запроса, чтобы использовать LIMIT и OFFSET термины для получения только необходимого числа. элементов. Это означает, что реализация first() выбирает только один элемент из базы данных.

...