create table之storage選項initial和其它
---直接在表級別指定儲存引數initial
SQL> create table t_table_level(a int) storage(initial 4m maxsize 10m);
Table created.
---未插入資料前不分配extent
SQL> select segment_name,extent_id,bytes,blocks from user_extents where segment_name='T_TABLE_LEVEL';
no rows selected
---僅插入一條記錄
SQL> insert into t_table_level values(1);
1 row created.
SQL> commit;
Commit complete.
---一下子分配了4個extent,且每個extent大小為1m,剛好達到initial的4m,即initial與extent的關係
SQL> select segment_name,extent_id,bytes,blocks from user_extents where segment_name='T_TABLE_LEVEL';
SEGMENT_NAME EXTENT_ID BYTES BLOCKS
-------------------- ---------- ---------- ----------
T_TABLE_LEVEL 0 1048576 128
T_TABLE_LEVEL 1 1048576 128
T_TABLE_LEVEL 2 1048576 128
T_TABLE_LEVEL 3 1048576 128
--若指定的initial 小於最小的extent 64k
SQL> drop table t_table_level purge;
Table dropped.
SQL> create table t_table_level(a int) storage(initial 60k);
Table created.
SQL> insert into t_table_level values(1);
1 row created.
SQL> commit;
Commit complete.
---若initial 小於最小的extent 64k,同樣分配一個64k的extent
SQL> select segment_name,extent_id,bytes,blocks from user_extents where segment_name='T_TABLE_LEVEL';
SEGMENT_NAME EXTENT_ID BYTES BLOCKS
-------------------- ---------- ---------- ----------
T_TABLE_LEVEL 0 65536 8
SQL> drop table t_table_level purge;
Table dropped.
SQL> create table t_table_level(a int) storage(initial 70k);
Table created.
SQL> insert into t_table_level values(1);
1 row created.
SQL> commit;
Commit complete.
---如果initial大於最小的extent而小於次小的extent,則分配2個64k extent
SQL> select segment_name,extent_id,bytes,blocks from user_extents where segment_name='T_TABLE_LEVEL';
SEGMENT_NAME EXTENT_ID BYTES BLOCKS
-------------------- ---------- ---------- ----------
T_TABLE_LEVEL 0 65536 8
T_TABLE_LEVEL 1 65536 8
小結:1,initial 與next針對segment中extent的分配
2,即initial與next決定建立segment及擴充套件segment
3,extent的大小有幾類:64K, 1M, 8M, and 64M
4,若initial<64k,則初始建立1個64k的extent
64k
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9240380/viewspace-764659/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle11g之create table儲存引數initial和表空間autoallocate或uniform的關係OracleORM
- oracle中用Create Table建立表時,Storage中引數的含義!Oracle
- db_cache hitratio sql and v$db_cache_advice and create table with storageSQL
- create和recreate index時縮短時間的選項Index
- Azure 基礎:Table storage
- MYSQL TABLE CHANGE STORAGE ENGINEMySql
- create table of mysql databaseMySqlDatabase
- create table進階學習系列(十一)之cluster
- create a partition table using a exsit table
- Oracle Create Table as SelectOracle
- PostgreSQL DBA(165) - pgAdmin(Create Function選項)SQLFunction
- Azure Storage 系列(五)通過Azure.Cosmos.Table 類庫在.Net 上使用 Table Storage
- create table if not exists Waiting for table metadata lockAI
- oracle11g之create table儲存引數minextents和maxextents含義之系列四Oracle
- ORACLE的Copy命令和create table,insert into的比較Oracle
- create table進階學習系列(十一)之cluster_續(二)
- MySQL5.6 create table原理分析MySql
- sqlserver不能直接create table as select ......SQLServer
- create table進階學習(一)
- create table進階學習(三)
- create table進階學習(四)
- insert into select 與 create table as的用法和區別(轉)
- Tempdb initial size和dbcc shrinkfile
- MySQL的create table as 與 like區別MySql
- VBA從Excel中生成Oracle create tableExcelOracle
- create table進階學習系列(八)
- create table進階學習系列(五)
- create table進階學習系列(七)
- create table進階學習系列(九)
- CREATE TABLE AS SELECT(CAST)(二)-ConceptAST
- Truncate table時不管使用drop storage或reuse storage都會講HWM重新設定
- use azure data studio to create external table for oracleOracle
- T-SQL的CREATE TABLE語法(下)SQL
- T-SQL的CREATE TABLE語法(上)SQL
- EasyUi之Tabs(選項卡)UI
- Azure 基礎:自定義 Table storage 查詢條件
- 自定義 Azure Table storage 查詢過濾條件
- create table進階學習(二)_全域性臨時表_global temporary table