• 検索結果がありません。

©日本IBMシステムズ・エンジニアリング(株) Information Management部 145

複数レンジサポート

‡ 条件が複数の範囲でも区分の限定可能

2001 1-3 SALES

2001 4-6

2001 7-9

2002 1-3

2002 7-9 2001

10-12

2002 4-6

2002 10-12

表スペース1 表スペース2 表スペース3 表スペース4

データ・

パーティション SELECT * FROM SALES

WHERE ( year = 2001 AND month < 3 ) OR (year = 2002 and month >= 10)

CREATE TABLE sales(year INT, month INT) PARTITION BY RANGE(year, month) (STARTING FROM(2001,1) ENDING AT(2001,3) IN ts1, ENDING AT(2001,6) IN ts2, ENDING AT(2001,9) IN ts3, ENDING AT(2001,12) IN TS4, ENDING AT(2002,3) IN TS5, ENDING AT(2002,6) IN TS6, ENDING AT(2002,9) IN ts7, ENDING AT(2002,12) IN ts8)

Access Table Name = V9ICHI.SALES ID = -6,-32767

| #Columns = 2

| Data-Partitioned Table

| Data Partition Elimination Info:

| | Range 1:

| | | #Key Columns = 2

| | | | Start Key: Inclusive Value

| | | | | 1: 2002

| | | | | 2: 10

| | | | Stop Key: Inclusive Value

| | | | | 1: 2002

| | Range 2:

| | | #Key Columns = 2

| | | | Start Key: Inclusive Value

| | | | | 1: 2001

| | | | Stop Key: Exclusive Value

| | | | | 1: 2001

| | | | | 2: 3

| Active Data Partitions: 0, 7

| Relation Scan

| | Prefetch: Eligible

| Lock Intents

| | Table: Intent Share

| | Row : Next Key Share

| Sargable Predicate(s)

| | #Predicates = 4

| | Return Data to Application

| | | #Columns = 2 Return Data Completion

複数レンジサポート

ア ク セ ス レ ン ジ 1

ア ク

セ ス

レ ン

ジ 2

©日本IBMシステムズ・エンジニアリング(株) Information Management部 147

パラメーター・マーカーを使ったケース

Access Table Name = V9ICHI.CUSTLIST ID = -6,-32768

| #Columns = 3

| Data-Partitioned Table

| Data Partition Elimination Info:

| | Range 1:

| | | #Key Columns = 1

| | | | Start Key: Inclusive Value

| | | | | 1: ?

| | | | Stop Key: Inclusive Value

| | | | | 1: ?

| Data partition elimination not performed yet

| Relation Scan

| | Prefetch: Eligible

| Lock Intents

| | Table: Intent Share

| | Row : Next Key Share

| Sargable Predicate(s)

| | #Predicates = 2

| | Return Data to Application

| | | #Columns = 3 Return Data Completion11

select * from custlist where subsdate=? and province=?

ロックエスカレーション

‡行レベルからデータパーティションレベルにエス カレーション

z ロックエスカレーションの発生していない区分では、行レベル のロック

2006-03-30-21.40.06.301996 Instance:v9ichi Node:000

PID:1036464(db2agent (SAMPLE) 0) TID:1 Appid:*LOCAL.v9ichi.060330123956 data management sqldEscalateLocks Probe:2 Database:SAMPLE

ADM5500W DB2 は、ロック・エスカレーションを実行しています。

現在保留されているロックの合計数は

"212" で、保留するロックのターゲット数は"106" です。

2006-03-30-21.40.06.327676 Instance:v9ichi Node:000

PID:1036464(db2agent (SAMPLE) 0) TID:1 Appid:*LOCAL.v9ichi.060330123956 data management sqldEscalateLocks Probe:3 Database:SAMPLE

ADM5504W ロック・インテント"S" に対する、表"V9ICHI .CUSTLIST" の

DATAPARTITIONID "0" 上での"206" 個のロックのエスカレーションは成功しました。

©日本IBMシステムズ・エンジニアリング(株) Information Management部 149

ロック名 = 0xFFFA8000FFFF000000

00000054

ロック属性 = 0x00000000

リリース・フラグ = 0x00000001

ロック・カウント = 1

保留カウント = 0

ロック・オブジェクト名 = 32768

オブジェクト・タイプ = 表

表スキーマ = V9ICHI

表名 = CUSTLIST

モード = IS

ロック名 = 0xFFFA80000000000000

00000054

ロック属性 = 0x00000002

リリース・フラグ = 0x00000001

ロック・カウント = 1

保留カウント = 0

ロック・オブジェクト名 = 32768

オブジェクト・タイプ = 表パーティション

表スペース名 = TS1

表スキーマ = V9ICHI

表名 = CUSTLIST

データ・パーティション ID = 0

モード = S

ロックエスカレーション(続き)

パーティション・レベルの Sロックにエスカレーション が発生

パーティション表の照会 まとめ

‡ 区分限定スキャンにより、参照データページを少 なくすることができる

z 述部に区分化キーが指定されていた場合、表スキャン、索引 スキャンとも、区分限定スキャンが可能

z スキャン対象のパーティションはSQLコンパイル時に確定する 場合と実行時に確定する場合(ホスト変数やパラメーターマー カー利用の場合)がある

z 特定されたパーティションの情報は、エクスプレインによって調 査が可能

‡ 行レベル、データ・パーティションレベル、表レベ

ルでのロックが取得される

©日本IBMシステムズ・エンジニアリング(株) Information Management部 151

ユーティリティの実行

<第1.00版 2006年 7月>

パーティション表へのLOAD

‡ 通常の表と同様にLOADユーティリティの実行が 可能

z LOADユーティリティが格納先のパーティションを判別

z 入力データを自動的にターゲットのパーティションへ 割り振る

z データの事前ソート等は不要

©日本IBMシステムズ・エンジニアリング(株) Information Management部 153

入力データに適合するパーティションが未定義の場合

‡ 適合するパーティションがない(Range Violation)データ は拒否

z 拒否されたデータは、例外表へ出力することが可能

¾

例外表を指定しない場合、拒否された行は失われる

¾

例外表としてパーティション表の指定は不可

¾

拒否された行は、警告回数(WARNINGCOUNT)にカウントされない

z デタッチされたパーティション、アタッチ後SET INTEGRITY未実 行のパーティションはLOADの対象外

z 拒否された行が発生した場合でも、LOADコマンドの戻りコード は0

¾

拒否された行の発生を検知するためには、LOADの実行後、例外表の内容確 認が必要

LOAD時の考慮点

‡ 特定パーティションのみをLOADの対象とすることはでき ない

z LOAD中の表の可用性は通常の表と同様

¾

LOAD中はすべてのパーティションにREADアクセス可能(ALLOW READ ACCESSの場合)

¾

LOAD中はすべてのパーティションに読み書き不能(ALLOW NO ACCESSの 場合)

¾

LOADの異常終了時は、全パーティションがロード保留状態

z パーティション単位での置き換え(Replace)はできない

¾

パーティション単位での洗い替えはデタッチ/アタッチを使用

©日本IBMシステムズ・エンジニアリング(株) Information Management部 155

LOAD時の考慮点(続き)

‡LOAD中はパーティションのデタッチ/アタッチ/追加はロック待機

‡SAVECOUNTオプションの指定不可

z 指定した場合無視され、SQL1128W、RC=3の警告

‡デタッチが未完了なパーティションが存在する場合、下記の条件下では、

パーティション表に対するREBUILDモード指定のLOAD不可

関連したドキュメント