порядок условий в MySQL, где положения и производительность
при создании сложных запросов базы данных с многочисленными условиями порядок этих условий может потенциально повлиять на производительность MySQL. Общий сценарий включает в себя комбинацию широких и ограничительных условий. Возникает вопрос: имеет ли значение, если ограничительное условие появляется первым или последним в предложении «Где»
ответ не всегда прост. В определенных ситуациях порядок может повлиять на производительность из-за короткого замыкания поведения. Рассмотрим следующие запросы:
SELECT * FROM clients WHERE (firstname LIKE :foo OR lastname LIKE :foo OR phone LIKE :foo) AND (firstname LIKE :bar OR lastname LIKE :bar OR phone LIKE :bar) AND company = :ugh
SELECT * FROM clients WHERE company = :ugh AND (firstname LIKE :foo OR lastname LIKE :foo OR phone LIKE :foo) AND (firstname LIKE :bar OR lastname LIKE :bar OR phone LIKE :bar)
В первом запросе условие компании проверяется последним, что может привести к тому, что MySQL искал большое количество строк, прежде чем сузить результаты. Во втором запросе состояние компании оценивается в первую очередь, что может значительно уменьшить количество строк, которые необходимо обработать. Если условие компании не выполняется для данной строки, MySQL не будет продолжать оценивать оставшиеся условия для этой строки.
, однако, важно отметить, что эта выгода от производительности не всегда может быть значительной, особенно если ограничительное состояние не является очень выборочным (т.е. оно не устраняет большие результаты, а иногда и в том, что в этом случае, в том, что по заказу в условиях, в том, что по заказу в условиях, в том, что по заказу в условиях, в том, что по заказу в условиях, в том, что по заказу в условиях, в том, что в моментах, в том, что в моментах, в том, что в моментах, в том, что в моментах, в том, что в моментах, в том, что в моментах. не является общим правилом, которое может применяться во всех случаях. Лучше всего провести тестирование производительности по конкретным запросам, чтобы определить, обеспечивает ли переупорядочение условий какие -либо заметные улучшения.
]Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3