表空間是什麼

2021-08-30 23:32:18 字數 1381 閱讀 8095

表空間實質是組織資料檔案的一種途徑,oracle就是通過表空間這個資料庫物件完成對資料的組織的。在將資料插入oracle資料庫之前,必須首先建立表空間,然後將資料插入表空間的乙個物件中。解釋資料庫、表空間、資料檔案、表、資料檔案的最好辦法就是想象乙個裝滿東西的櫃子。資料庫其實就是櫃子,櫃中的抽屜是表空間,抽屜中的資料夾是資料檔案,資料夾中的紙是表,寫在紙上的資訊就是資料。

根據表空間的用途可分為五類:

-目錄表空間

每個資料庫只有乙個目錄表空間,它是在發出 create database 命令時建立的。目錄表空間被 db2 命名為 syscatspace,它儲存了系統目錄表。總是在建立資料庫時建立該錶空間。 (cat:目錄)

-常規表空間

常規表空間:儲存表資料和索引。它還可以儲存諸如大物件(large object,lob)之類的長資料,除非這些資料顯式地儲存在長表空間中。如果某些表空間是資料庫管理的空間(database managed space,dms),則可以將表及其索引分別放到單獨的常規表空間中。我們將在本文後面定義 dms 和系統管理的空間(system managed space,sms)之間的區別。每個資料庫中必須至少有乙個常規表空間。建立資料庫時指定該錶空間的預設名為 userspace1。

-長表空間

長表空間:用於儲存長型或 lob 表列,它們必須駐留在 dms 表空間中。它們還可以儲存結構化型別的列或索引資料。如果沒有定義長表空間,那麼將把 lob 儲存在常規表空間中。長表空間是可選的,預設情況下乙個都不建立。

-系統臨時表空間

系統臨時表空間 :用於儲存 sql 操作(比如排序、重組表、建立索引和連線表)期間所需的內部臨時資料。每個資料庫必須至少有乙個系統臨時表空間。隨資料庫建立的系統臨時表空間的預設名為 tempspace1。

-使用者臨時表空間

使用者臨時表空間用來儲存:已說明全域性臨時表(已說明全域性臨時表:儲存的是應用程式臨時資料)。

建立使用者臨時表空間的語法:

code:

create user temporary tablespace usr_tbsp

managed by database

using (file 'd:\db2data\user_tbsp' 5000,

file 'e:\db2data\user_tbsp' 5000)

與常規表空間一樣,使用者臨時表空間可以在除ibmtempgroup之外的任何節點組中建立。建立使用者臨時表空間使用的預設節點組是ibmdefaultgroup。declare global temporary table語句定義供在使用者臨時表空間中使用的已說明臨時表。

注:臨時表空間存放一些oracle的臨時資料 ( 我們使用者不可以使用 )

比如說

在sql中的order by ,distinct 等函式會使用臨時表空間存放臨時數

oracle的表空間是什麼

在乙個房間裡面這個房間可以儲存很多箱子,箱子裡面可以儲存物品!表空間可以看成房間 箱子可以看成資料檔案 物品可以看成表。使用者指定表空間也就是你希望把屬於這個使用者的表放在那個房間 表空間 裡面。表空間是乙個虛擬的概念可以無限大,但是需要由資料檔案作為載體。表空間裡oracle中的乙個邏輯概念,它用...

dual表是什麼表

dual是乙個虛擬表,用來構成select的語法規則,oracle保證dual裡面永遠只有一條記錄。我們可以用它來做很多事情,如下 1 檢視當前使用者,可以在 sql plus中執行下面語句 select user from dual 2 用來呼叫系統函式 select to char sysdat...

跳躍表是什麼

加入我們要開發乙個遊戲裡面類似拍賣行的搜尋功能,我們要支援輸入道具名稱的精準查詢和不輸入名稱的全量查詢.拍賣行商品數量幾十萬件,對應資料庫商品表的幾十萬條記錄,按照商品名稱精準查詢好辦,可以直接衝資料庫查出來,如果沒有商品名稱的全量查詢怎麼辦?總不能把資料庫所有記錄查出來,還要支援不同欄位的排序.拍...