Mysql 取字段值逗號第一個數據的查詢語句。本站提示廣大學習愛好者:(Mysql 取字段值逗號第一個數據的查詢語句)文章只能為提供參考,不一定能成為您想要的結果。以下是Mysql 取字段值逗號第一個數據的查詢語句正文
對DBA_TAB_COLUMNS數據字典視圖停止查詢
[NextPage]
發生表1-2
select table_name,column_name,num_distinct
from DBA_TAB_COLUMNS
where owner like 'ORDADM';
表1-2
列
分歧的值
PATIENT_ID
28720
VISIT_ID
2
ORDER_NO
395
ORDER_SUB_NO
10
ORDER_CLASS
9
ORDER_CODE
825
ORDER_TEXT
1551
ORDERING_DEPT
15
START_DATE_TIME
1194176
STOP_DATE_TIME
636798
從表1-2中,我們可以看到欲分區表的各個候選分區鍵的
[1] [2] 下一頁
正在看的ORACLE教程是:Oracle數據表分區的戰略。散布頻譜,ORDER_CODE(醫囑代碼)鍵值沒有湧現一種平均散布,用它作分區鍵,顯著不適合; 二 分區表的界說
Create Table orders (
PATIENT_ID varchar2(10) not null, ORDER_NO number(4), ORDER_SUB_NO number(2),
..............
ORDER_CLASS char(1),
ORDER_TEXT varchar2(80),
ORDER_CODE varchar2(10),
.............
START_DATE_TIME date
STOP_DATE_TIME date
.................
ORDERING_DEPT varchar2(8)
storage (initial 100M next 1M)
PARTITION BY RANGE(START_DATE_TIME)
SUBPARTITION BY HASH(ORDER_CODE)
SUBPARTITIONS 3 STORE IN (ordersub1, ordersub 2, ordersub 3)
(PARTITION orders200212 VALUES LESS THAN (to_date('2003-01-01 00:00: 00','yyyy-mm-dd hh24:mi:ss'))
tablespace Tsp_Orders,
PARTITION orders200301
VALUES LESS THAN (to_date('2003-02-01 00:00: 00','yyyy-mm-dd hh24:mi:ss'))
tablespace Tsp_Orders,,
PARTITION orders 200302
VALUES LESS THAN (to_date('2003-03-01 00:00: 00','yyyy-mm-dd hh24:mi:ss'))
tablespace Tsp_Orders,,
.....................
PARTITION orders200402
VALUES LESS THAN (to_date('2004-03-01 00:00: 00','yyyy-mm-dd hh24:mi:ss'))
tablespace Tsp_Orders
(SUBPARTITION ordersub1 TABLESPACE Tsp_Orders, SUBPARTITION ordersub 2 TABLESPACE Tsp_Orders,
SUBPARTITION ordersub3 TABLESPACE Tsp_Orders));
在樹立的Orders表中,按每個月一個分區,從2002年12月開端,2004年02月止,共15個分區, PARTITION BY RANGE(START_DATE_TIME) 子句,表現用表的START_DATE_TIME屬性樹立規模分區,詳細的每一個分區名、時光規模,在PARTITION子句界說;SUBPARTITION BY HASH(ORDER_CODE)子句,表現用表的ORDER_CODE 屬性,在每一個分區下樹立散列子分區,詳細的每一個子分區名、地點表空間,在UBPARTITION子句界說。
用上面ALTER TABLE數據界說語句為Orders樹立束縛和索引。
ALTER TABLE Orders ADD CONSTRAINT Pk_Orders KEY (Patient_id,
Visit_id,Order_no,Order_sub_no) USING INDEX PCTFREE 5 TABLESPACE Tsp_Orders;
表1-3是用select count(*) from orders partition (分區名)語句,查詢出的名分區的記載數。
表1-3
分區名
記載數
orders200301
87311
orders2200302
87553
orders2200303
107533
............
orders200401
124812
三 分區表的保護操作
增加分區:
Alter Table orders Add partition orders200403
Aalues less (to_date('2004-04-01 00:00:00','yyyy-mm-dd hh24: mi:ss'))
Tablespace Tsp_Orders;
刪除分區:
Alter Table table_name Drop Partition partition_name;
裁斷分區:
Alter Table table_name Truncate Partition partition_name Storage;
Oracle數據表分區小常識:
為了簡化數據庫年夜表的治理,O r a c l e 8 及今後版本推出了分區選項。分區將表分別在若干分歧的表空間上,用分而治之的辦法來支持無窮收縮的年夜表,給年夜表在物理一級的可治理性。將年夜表朋分成較小的分區可以改良表的保護、備份、恢復、事務及查詢機能。針對以後社保及電信行業的年夜量平常營業數據, 可以推舉應用ORACLE8 的該選項。
分區的長處:
1 、加強可用性:假如表的一個分區因為體系毛病而不克不及應用,表的其他好的分區依然可使用;
2 、削減封閉時光:假如體系毛病只影響表的一部門分區,那末只要這部門分區須要修復,故能比全部年夜表修復花的時光更少;
3 、保護輕松:假如須要重建表,自力治理每一個分區比治理單個年夜表要輕松很多;
4 、平衡I / O : 可以把表的分歧分辨別配到分歧的磁盤來均衡I / O 改良機能;
5 、改良機能:對年夜表的查詢、增長、修正等操作可以分化到表的分歧分區來並行履行,可以使運轉速度更快;
6 、分區對用戶通明,終究用戶感到不到分區的存在。
上一頁
上一頁 [1] [2]