Oracle - na ktorej hash-partycji jest rekord?
Leszek Pachura - 11-05-2007 12:31
Oracle - na ktorej hash-partycji jest rekord?
Czesc,
Zalozmy ze mam taka partycjonowana tabele:
create table TABELA ( ID number primary key, TXT varchar2(1000) ) partition by hash (ID) ( partition P1 tablespace TS1, partition P2 tablespace TS2, ... )
Czy dysponujac wartoscia ID konkretnego rekordu moge jakos dojsc do tego na ktorej partycji znajduje sie fizycznie ten rekord?
-- Wysłano z serwisu OnetNiusy: http://niusy.onet.pl
news997 - 11-05-2007 12:31
Leszek Pachura wrote: > Czesc, > > Zalozmy ze mam taka partycjonowana tabele: > > create table TABELA ( > ID number primary key, > TXT varchar2(1000) > ) > partition by hash (ID) ( > partition P1 tablespace TS1, > partition P2 tablespace TS2, > ... > ) > > Czy dysponujac wartoscia ID konkretnego rekordu moge jakos dojsc do tego na > ktorej partycji znajduje sie fizycznie ten rekord?
Tak można, ale po co? I tak będą one równomiernie rozłożone. W kolumnach Pstart i Pstop masz numer partycji.
create tablespace ts1; create tablespace ts2;
create table TABELA ( ID number primary key, TXT varchar2(1000) ) partition by hash (ID) ( partition P1 tablespace TS1, partition P2 tablespace TS2 ) ;
insert into tabela(id, txt) Values('1','Jeden'); insert into tabela(id, txt) Values('2','Dwa');
explain plan for select * from tabela where id = 1 ; select * from table(dbms_xplan.display) ;
PLAN_TABLE_OUTPUT ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Plan hash value: 2969649219
------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop | ------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 515 | 1 (0)| 00:00:01 | | | | 1 | TABLE ACCESS BY GLOBAL INDEX ROWID| TABELA | 1 | 515 | 1 (0)| 00:00:01 | 2 | 2 | |* 2 | INDEX UNIQUE SCAN | SYS_C0010190 | 1 | | 1 (0)| 00:00:01 | | | -------------------------------------------------------------------------------------------------------------------
14 rows selected.
explain plan for select * from tabela where id = 2 ; select * from table(dbms_xplan.display) ;
PLAN_TABLE_OUTPUT ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ Plan hash value: 2969649219
------------------------------------------------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | Pstart| Pstop | ------------------------------------------------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 1 | 515 | 1 (0)| 00:00:01 | | | | 1 | TABLE ACCESS BY GLOBAL INDEX ROWID| TABELA | 1 | 515 | 1 (0)| 00:00:01 | 1 | 1 | |* 2 | INDEX UNIQUE SCAN | SYS_C0010190 | 1 | | 1 (0)| 00:00:01 | | | -------------------------------------------------------------------------------------------------------------------
dap -- http://dap.polanski.biz/?p=7
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?=
Oracle 19g +Insert +Insert +Insert...
[oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?=
[Oracle] jak =?ISO-8859-2?Q?ograniczy=E6_pami=EA=E6_dla_se?==?ISO-8859-2?Q?rwera=3F?=
=?ISO-8859-2?Q?=5BOT=5D_Zdany_egzamin_Oracle_1Z0-007_a?==?ISO-8859-2?Q?_brak_informacji_na_stronie_Prometric_-_czy?==?ISO-8859-2?Q?_co=B6_nie_tak=3F?=
[oracle] czy da =?ISO-8859-2?Q?si=EA_z_poziomu_procedury_?==?ISO-8859-2?Q?zrobi=E6_kopi=EA_zapasow=B1=3F?=
[oracle 10g] czy =?ISO-8859-2?Q?mo=BFna_wy=B3=B1czy=E6_wszys?==?ISO-8859-2?Q?tkie_wi=EAzy_w_schemacie=3F?=
MSSQL Express czy Oracle Express
=?iso-8859-2?q?[oracle]_Jak_sprawdzi=E6_wielko=B6=E6_tabeli_=3F=3F?=
=?ISO-8859-2?Q?Poszukjue_ksi=B1=BFki_"Oracle_?= =?ISO-8859-2?Q?optymalizacja_wydajno=B6ci"..?=
zanotowane.pldoc.pisz.plpdf.pisz.platanvarne633.opx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|