您好,登錄后才能下訂單哦!
這篇文章將為大家詳細講解有關mysql中in和or的區(qū)別是什么,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。
mysql in or的區(qū)別:
1、操作不同,一個是連接,一個是循環(huán)查詢
in:in是把父查詢表和子自查詢表作hash連接。
or:or是對父查詢表作loop循環(huán),每次loop循環(huán)再對子查詢表進行查詢。
2、使用范圍不同,一個適合子表數(shù)據(jù)比父表數(shù)據(jù)多的情況,一個適合子表數(shù)據(jù)比父表數(shù)據(jù)少的情況
in:in適合用于子查詢表數(shù)據(jù)比父查詢表數(shù)據(jù)多的情況。
or:or適合用于子查詢表數(shù)據(jù)比父查詢表數(shù)據(jù)少的情況。
3、執(zhí)行效率不同,數(shù)據(jù)量增情況下,一個執(zhí)行效率不會有太大下降,一個有明顯下降
in:在沒有索引的情況下,隨著in后面的數(shù)據(jù)量越多,in的執(zhí)行效率不會有太大的下降。
or:在沒有索引的情況下,隨著or后面的數(shù)據(jù)量越多,or的執(zhí)行效率會有明顯的下降。
關于mysql中in和or的區(qū)別是什么就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。