Порядки в моделях улучшают производительность в наборах запросов? - PullRequest
0 голосов
/ 25 мая 2019

Извините, я ... скажем, не лучший концептуально с БД плюс Django ... Во всяком случае, я уверен, что порядок делает противоположность вышеупомянутому. Но просто проверить: в классе Meta упорядочение помогает только тогда, когда Django запрашивает, в котором он упорядочит набор запросов при возврате через представление, правильно? Пример: models.py

class Test(models.Model): 
    id = models.BigAutoField(primary_key=True)
    secondAttr = models.OneToOneField(Wall, on_delete=models.CASCADE) 
    # There are 10 more columns for other stuff

    class Meta: 
        ordering = [‘-secondAttr’, ‘id’]

SecondAttr - это pk BigAutoField в другой таблице, ofc; secondAttr может пройти весь путь до 193 017 273. Я планирую, чтобы id был суррогатным ПК. Запрос ищет любые объекты с secondAttr, равным 80; скажем, есть 100 объектов с secondAttr = 80. Эти объекты разбросаны ВЕЗДЕ по всей таблице Test (например, строка 1, строка 101 927 018, строка 930 029 019 и т. д.), если я удалю упорядочение в Meta, то есть (верно?). Так поможет ли заказ в выполнении запросов? Или порядок не имеет ничего общего с производительностью запросов? Предложения для того, что я должен делать? Или я просто не должен волноваться? К сожалению, индексы не очень помогут в этом сценарии, не так ли?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...