Производительность MySQL “В”

Я думаю , этот отрывок делает точно, что Вы хотите. Это дает Вам подкласс Формы, который позволяет Вам декларативно подразделять свою форму на fieldsets и выполнять итерации через них в Вашем шаблоне.

Обновление: тот отрывок с тех пор стал частью django-form-utils

23
задан Roy 8 October 2009 в 13:05
поделиться

2 ответа

Начиная с определенного количества записей, предикат IN для SELECT становится быстрее, чем для списка констант.

См. эта статья в моем блоге для сравнения производительности:

Если столбец, используемый в запросе в предложении IN , проиндексирован, например:

SELECT  *
FROM    table1
WHERE   unindexed_column IN
        (
        SELECT  indexed_column
        FROM    table2
        )

, то этот запрос просто оптимизируется до EXISTS (который использует только одну запись для каждой записи из table1 )

К сожалению, MySQL является не может выполнять HASH SEMI JOIN или MERGE SEMI JOIN , что еще более эффективно (особенно если оба столбца проиндексированы).

19
ответ дан 29 November 2019 в 02:58
поделиться

Почему вы сначала извлекаете идентификаторы? Вам, вероятно, следует просто присоединиться к столам. Если вы используете идентификаторы для чего-то еще, вы можете вставить их во временную таблицу раньше и использовать эту таблицу для соединения.

1
ответ дан 29 November 2019 в 02:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: