ROWNUM是一個(gè)偽列,它在查詢(xún)結(jié)果返回后才會(huì)分配行號(hào)。在使用ROWNUM進(jìn)行分頁(yè)時(shí),必須先獲取所有的結(jié)果集,然后再按照ROWNUM的值進(jìn)行篩選,這會(huì)導(dǎo)致性能上的損耗。
ROWNUM是根據(jù)查詢(xún)結(jié)果中的順序來(lái)分配行號(hào)的,而不是根據(jù)數(shù)據(jù)庫(kù)表中的實(shí)際存儲(chǔ)順序。
ROWNUM是從1開(kāi)始遞增的整數(shù),它可以用于獲取查詢(xún)結(jié)果的前幾行數(shù)據(jù)。
ROWID是一個(gè)唯一的標(biāo)識(shí)符,它用于唯一標(biāo)識(shí)數(shù)據(jù)庫(kù)表中的行。
ROWID是在行插入到表中時(shí)就會(huì)分配給該行的,它是基于數(shù)據(jù)庫(kù)表的物理存儲(chǔ)順序生成的。
ROWID是一個(gè)包含物理信息的值,它可以唯一標(biāo)識(shí)數(shù)據(jù)庫(kù)表中的某一行。
總的來(lái)說(shuō),ROWNUM用于分頁(yè)查詢(xún)結(jié)果集,而ROWID用于唯一標(biāo)識(shí)數(shù)據(jù)庫(kù)表中的行。它們之間的主要區(qū)別在于其生成方式和用途。