Comecei a “fuçar” em objeto-relacional e não sei se estou usando corretamente, mas gostaria de saber se a performance é boa. tem como você m auxiliar ou me indicar algum material para sanar minhas dúvidas? Por exemplo, Criei os seguintes objetos:
— Start of DDL Script for Table GHCEP.PAIS
— Generated 17-jan-2011 20:21:53 from GHCEP@GHELTDES
CREATE OR REPLACE TYPE tp_pais_obj AS OBJECT
(
idPais number,
nomePais varchar2(100),
siglaPais varchar2(5),
nacionalidade varchar2(100),
codNacionalidade number
)
/
CREATE TABLE pais OF TP_PAIS_OBJ
(CONSTRAINT PAIS_PK PRIMARY KEY (idpais))
OBJECT IDENTIFIER IS PRIMARY KEY
/
— Constraints for PAIS
ALTER TABLE pais
ADD CONSTRAINT pais_uk_01 UNIQUE (nomepais)
/
— Start of DDL Script for Table GHCEP.REGIAOPAIS
— Generated 17-jan-2011 20:23:35 from GHCEP@GHELTDES
CREATE OR REPLACE TYPE tp_regiaopais_obj AS OBJECT
(
idRegiaoPais number,
nomeRegiaoPais varchar2(50),
siglaRegiaoPais varchar2(3),
refPais ref TP_PAIS_OBJ
)
/
CREATE TABLE regiaopais OF TP_REGIAOPAIS_OBJ
(CONSTRAINT REGIAOPAIS_PK PRIMARY KEY (idregiaopais),
CONSTRAINT regiaopais_pais_fk_01 FOREIGN KEY (refpais) REFERENCES pais)
OBJECT IDENTIFIER IS PRIMARY KEY
/
Se eu desejar listar todas as regiões de um pais eu faria a seguinte SQL
select *
from regiaoPais regiaoPais
where regiaoPais.refPais.idPais = 1
Quando a quantidade de registros é pequena não tenho problema. mas se existir 500.000 registros ou mais em cada tabela, a performance é tão boa quanto se estiver trabalhando somente com paradigma relacional?
Ou será que estou fazendo algo errado?
Desde já agradeço