海量数据库的设计及应用_EN-CORE_郑保卫
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Value Table
check
• COL4 > 10000
COL3 COL2 COL4
Index Table
Driving range
Value check
Value check
• COL3 = ‘201103’ • COL2 like ‘12%’ • COL4 > 10000
• COL1 = ‘ABC’
COL1
…… A A B B C C D D A A B B
…… A
ROWID
… 23 54 67 34 39 42 67 83 25 29 52 64 … 26
If COL2 > 114
Table access X X IF COL1<>‘A’ X X X X
X X X
SELECT * FROM TAB1 WHERE COL1 = ‘A’
TABLE (ORDER)
ORDNO between 1 and 10000, CUSTNO LIKE‘DN01%’ 过滤条件
COL1 COL2 COL3
Index
Driving range
Value check
• COL1 = ‘ABC’ • COL2 like ‘12%’
• COL3 = ‘201103’
AND COL2 BETWEEN 111 AND 112
COL2 110 110 111 111 111 111 112 112 112 113
COL1 A B A B C D A B C A
ROWID 10 41 11 65 96 5 73 18 45 22
Ⅳ
SELECT * FROM TAB1 WHERE COL1 = ‘A’
합
35
1252.8 169.4 37.9 43.3 280.2 779.5
0.0 505.6 3068.7
Ⅰ
转换
Ⅰ
Ⅱ
. . . .
TAB1
. . . . . . . .
TAB2
. . . .
TAB1
. . . . . . . .
TAB2
Ⅱ
....
....
. . . .
INDEX (ITEM)
Redo Log Buffer
Ⅰ
<= Clark > Clark
<= Ford > Ford
<= Hunt > Hunt
Allen 0007 Clarke 0003
Davis 0002 Ford 0005
Green 0006 Hunt 0008
Jones 0004 King 0001
0.350 0.300 0.250 0.200 0.150 0.100 0.050 0.000
灵活性 成本高
成本低 速度快
ABB 10 ABC 15 ABC 26 ABC 28 ABC 32 ABC 67 BCA 12 BCA 27 BCA 48 BCA 85 CBA 35 CBA 49 CBA 64 CBA 99 …… …
INDEX1
120 34 123 7 123 9 123 12 123 32 123 46 123 52 123 56 123 62 123 64Driving range
• COL2 like ‘12%’
Value check
• COL3 = ‘ABC’ • COL1 = ‘201103’
Table
Value check
• COL4 > 10000
Ⅲ
SELECT * FROM tab1
WHERE col1 = ‘ABC’ AND col2 = 123;
INDEX1
INDEX2
SELECT * FROM tab1 WHERE col1 = ‘A’
AND col2 = 114;
COL1 A A A A A A A A A A A A B B B
COL2
ROWID
……
…
111
11
112
5
112
18
113
23
113
54
114
25
114
29
Table
115
26
access
115
30
If COL2 > 114
116
19
…...
…
111
41
111
45
112
65
Ⅳ
COL2
…… 113 113 113 113 113 113 113 113 114 114 114 114 114 115
COL1
ROWID
……
…
A
23
A
54
B
67
B
34
C
39
C
42
D
67
D
83
AND COL2 IN (111, 112)
COL2 110 110 111 111 111 111 112 112 112 113
COL1 A B A B C D A B C A
ROWID 10 41 11 65 96 5 73 18 45 22
Ⅳ
PROD DEPTCD SALEDATE
PRINTER PRINTER PRINTER PRINTER ………………… PRINTER PRINTER PRINTER PRINTER ………………… PRINTER PRINTER PRINTER PRINTER ………………… PRINTER PRINTER PRINTER PRINTER ………………… PRINTER ROUTER ROUTER ………………… ROUTER …………………
Ⅰ
• 公司名称 : EN-CORE CO., LTD,恩核(北京)信息技术有限公司 • 公司网站 :((韩国总公司) (中国分公司) • 法人代表 : 李华植 • 公司地址 : 韩国首尔,中国北京 • 成 立 日 : 1997年 11月 13日(韩国总公司), 2012年1月18日(中国分公司) • 业 种 : IT • 经营范围 : 咨询服务/ 软件开发,书籍出版/书籍销售/技术培训
Ⅲ
COL1 COL3 COL2
……
SELECT ………………………
SELEFCRTO…M …TA…B1……………… FROMWTHAEBR1E COL2 = ‘12345’ WHERE anCdOL1CO=L3‘LIKAEB‘C’2011%’
and anCdOL2COlikL4e <‘21020%;’
and COL3 = ‘1234’
and COL4 > 10000 ;
Index
Driving range
• COL1 = ‘ABC’ • COL3 = ‘201103’ • COL2 like ‘12%’
Value Table
check
• COL4 > 10000
COL2 COL3 COL1
Index
....
INDEX (ORDNO)
x
x√
x
运输单位
x x
TABLE (ORDER)
CUSTNO LIKE‘DN01%’ 过滤条件
x
√
x
运输单位
ORDNO between 1 and 10000 过滤条件
INDEX (CUSTNO)
TABLE (ORDER)
处理几十万行后返回1行
x
x√
x
运输单位
x x
Ⅰ
Consulting
Consulting Service
数据架构构建 数据库设计及性能优化 元数据管理系统构建
数据仓库构建 企业数据管理体系构建
综合服务
新一代系统构建 系统监控 ISP/EAP
数据仓库 及商业智能 BAM
Solution
EN-CORE DataWare™
DataWare™ DA DataWare™ Repository DataWare™ IDO DataWare™ DQ DataWare™ Impact DataWare™ Meta DataWare™ ETL DataWare™ Altibase DataWare™ Chakra DataWare™ Reporter
2
1
3
2
3 …
Ⅲ
TAB1 → TAB2 → TAB3 TAB2 → TAB3 → TAB1 TAB3 → TAB2 → TAB1
Ⅲ
处理数万行后返回1行
处理几行后返回1行 SELECT * FROM ORDER WHERE ORDNO BETWEEN 1 AND 10000
AND CUSTNO LIKE ‘DN01%’
……
…
111
11
112
5
112
18
113
23
113
54
114
25
114
29
Table
115
26
access
115
30
If COL2 > 114
116
19
…...
…
111
41
111
45
112
65
Ⅳ
COL2
…… 113 113 113 113 113 113 113 113 114 114 114 114 114 115
INDEX2
32 ABC 123 … TAB1
Ⅳ
ABB 55 10 ABC 67 15 ABC 89 26 ABC 100 28 ABC 123 32 ABC 180 67 BCA 100 12 BCA 100 27 BCA 123 48 BCA 85 85 CBA 123 35 CBA 123 49 CBA 214 64 CBA 214 99
1110 1110 1110 1110 ………… 1110 1120 1120 1120 ………… 1120 1120 1120 1120 ………… 9120 9120 9120 9120 ………… 9120 1120 1120 ………… 1120 …………
20110301 20110302 20110303 20110304 …………………… 20110326 20110301 20110302 20110303 …………………… 20110323 20110324 20110325 20110326 …………………… 20110301 20110302 20110303 20110304 …………………… 20110326 20110301 20110302 …………………… 20110303 ……………………
Academy
培训课程
数据架构 数据库建模 数据库性能优化 海量数据库解决方案 SQL
主数据管理
企业委托培训
™
信息服务
Lab News Education Books Open Club New Tech Recruiting
书籍出版
书籍 Reports
国际出版
Ⅰ Ⅰ Ⅰ Ⅰ Ⅰ Ⅰ Ⅰ Ⅰ
Ⅰ
Ⅰ
분리형 테이블
일체형 테이블
CBO RBO
First_rows All_rows Version
Non Key Column Key Column Row Header
TABLE ACCESS
Bitmap Conversion (ROWID)
Bitmap OR
Bitmap MINUS
Bitmap MINUS
A
25
A B B ……
29
Table
52
access
64
IF COL1 > ‘A’ …
A
26
SELECT * FROM tab1 WHERE col1 = ‘A’
AND col2 BETWEEN 113 AND 114;
COL1 A A A A A A A A A A A A B B B
COL2
ROWID
Bitmap Index (COL1=123)
Bitmap Index (COL2=‘ABC’)
Bitmap Index (COL2 IS NULL)
Bitmap MERGE
Bitmap Index (COL3 < 100)
Shared Pool Shared SQL Area
SGA
Database Buffer Cache
接
SELECT_1
复合处理 Array INSERT Array UPDATE
Ⅱ
Ⅱ
Ⅱ
Ⅱ
SELECT ………………………………………
1
FROM TAB1 x, TAB2 y,TAB3 z
WHERE x.A1 = y.B1
AND z.C1 = y.B2
AND x.A2 = ’10’
AND y.B2 LIKE ‘AB%’
0
계급 계급구간 도수 계급값
1 -0.5~4.5 8 2.0
2 4.5~9.5 3 7.0
3 9.5~14.5 6 12.0
1 4 2 14.53~19.54 7 5 17.60
5 19.5~24.5 5 22.0
6 24.5~29.5 5 27.0
7 29.5~34.5 0 32.0
8 34.5~39.5 1 37.0
PRODUCT
............
.... . . . .
....
INDEX (ITEM)
PRODUCT
SELECT_1 LOOP_1
条件1
数据处理_1 SELECT_2
LOOP_2 数据处理_2
SUB ROUTINE CALL
条件2
SELECT_3
INSERT_1
UPDATE_1
Ⅱ
表 连
SELECT_3 SELECT_2
…… INDEX3(COL1+COL2)
o
x
INDEX1
TABLE1
Ⅳ
尽量不要对离散度差别比较大 的索引进行合并 对离散度比较好的索引进行合 并,通常情况下能取得较好效 果 禁止基于离散度不好的列创建 索引 离散度好的索引与不好的索引 合并,反倒影响离散度比较好 的索引能力的发挥 让离散度比较好的列始终扮演 重要角色 离散度不好的列始终都会产生 不良影响