oracle rownum分頁(yè)與rowid區(qū)別

小樊
82
2024-07-21 07:57:03
欄目: 云計(jì)算

  1. ROWNUM分頁(yè):
  • 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ù)。

  1. ROWID:
  • 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ū)別在于其生成方式和用途。

0