разработчики должны учитывать влияние на производительность при выборе получения данных с помощью соединения или в пунктах. Эти два оператора имеют свои собственные преимущества и недостатки, в зависимости от используемого сервера баз данных. ]
mssql соображения
] в MSSQL разница в производительности между соединением и в основном зависит от уникальности столбца соединения. Если столбец соединения объявляется уникальным, соединяйте и создают тот же план выполнения, тем самым выполняя аналогично. ]
, однако, если столбец соединения не является уникальным и не помечен как уникальный, в пункте в IN работает лучше, чем соединение. Это связано с тем, что в пункте в IN используется более эффективный способ обработки дублирующих значений, в то время как оператор соединения должен выполнить полное сканирование таблицы для получения соответствующих строк.]
общие соображения
] обратите внимание, что в пункте и соединении не всегда взаимозаменяемы. Предложение JOIN выполняет соединение с равным значением, соответствующие рядам на основе равенства столбцов соединения. С другой стороны, в пункте IN соответствует ряды, основанные на членстве в подведении или скалярном выражении. ]
Если набор данных для подключения является большим, пункт в IN будет менее эффективным из -за необходимости выполнения нескольких оценки подказлов. В этом случае Join является лучшим выбором, поскольку он позволяет серверу базы данных применять индексацию и другие оптимизации во время выполнения запроса.]
в заключение
для MSSQL выбор между соединением и в зависимости от того, является ли столбец JOIN уникальным. Если это уникально, оба оператора обеспечивают сопоставимую производительность. Если не уникальный, в том, что он работает лучше для некноячных значений. В любом случае важно понимать основную семантику запроса и потенциальное воздействие на производительность для принятия обоснованных решений. ]
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3