distinct和group by效率 對(duì)單個(gè)字段的結(jié)果進(jìn)行去重,用distinct執(zhí)行效率快,還是用group by快?
對(duì)單個(gè)字段的結(jié)果進(jìn)行去重,用distinct執(zhí)行效率快,還是用group by快?這取決于字段的大小。不同的方法是兩兩比較。你需要遍歷整個(gè)桌子。分組分組類似于先建立索引,再查找索引,因此與二者相比,小
對(duì)單個(gè)字段的結(jié)果進(jìn)行去重,用distinct執(zhí)行效率快,還是用group by快?
這取決于字段的大小。不同的方法是兩兩比較。你需要遍歷整個(gè)桌子。分組分組類似于先建立索引,再查找索引,因此與二者相比,小表目的地更快,不需要建立索引。這只大表很快。一般來(lái)說(shuō),即使一個(gè)小表被索引,它也不會(huì)慢下來(lái)。但是,如果它是一個(gè)TB級(jí)的大表,遍歷就是一場(chǎng)災(zāi)難。因此,許多Oracle項(xiàng)目禁止使用distinct語(yǔ)句,并且都要求用group by替換。
oracle查詢時(shí)用distinct的執(zhí)行效率和用group by的效率誰(shuí)更高一些?
Oracle開發(fā)中禁止使用關(guān)鍵字distinct。
如果存在distinct,則使用group by。