Если у меня есть:Джанго эффективность запроса
class Address(models.Model):
state = models.CharField(max_length=2)
city = models.CharField(max_length=50)
street = models.CharField(max_length=50)
и большой набор данных, который является более эффективным:
Address.objects.filter(state__exact='xx').filter(city__exact='somewhere').filter(street__exact='some street')
ИЛИ
Address.objects.filter(state__exact='xx', city__exact='somewhere', street__exact = 'some_street')
1. Что вы подразумеваете под «эффективным»? 2. Когда вы измеряли «время», что вы видели? 3. Когда вы зарегистрировали выход SQL (https://docs.djangoproject.com/en/1.3/topics/logging/#id1), что вы видели? –
1) Ну, что я действительно спрашиваю, что лучше? Возможно, я имею в виду, что занимает наименьшее количество времени или, возможно, наименьшее вычисление. Я не знаю, что важнее честно. 2) Что такое «время»? Googling it (или «Django time it») не помогло. Но у меня нет большого набора данных, чтобы проверить его, я строю сайт, который, надеюсь, будет! 3) Я не регистрировал выход! Я полный SQL-сервер, который кажется хорошим местом для начала ... спасибо. –
1. Если вы не можете определить более эффективное, мы не знаем, что для вас важно. «Лучше» тоже ничего не значит. У вас должно быть что-то, что вы пытаетесь оптимизировать. Говори его в вопросе, пожалуйста. 2. http://docs.python.org/library/timeit.html. 3. Пожалуйста, ** уточните ** вопрос с результатами. –