Pergunta

Eu estou procurando a melhor maneira de armazenar XMLs em um banco de dados Oracle. Atualmente nós usamos uma coluna do tipo BLOB mas eu estou empurrando para mover esta coluna a um XMLType ou uma coluna com base esquema XMLType. Acabei de encontrar este artigo XML: Para CLOB ou objeto? da Oracle e lê-lo, mas eu não fiz a minha mente ainda.

Então, tem alguém experimentado esta mesma pergunta antes? Além disso, a idéia é que o XML será buscado completamente em um cliente Flash através de um servidor Red5, então o que eu estou procurando aqui é o melhor rendimento. Pelo que vejo nos dados que fornecem cargas CLOB mais rápido no banco de dados, mas o XMLSchema base é mais rápido para recuperação.

Obrigado, Joaquín.

Foi útil?

Solução

Trabalhando com objetos no Oracle implica múltiplas trocas de contexto SQL/PLSQL que podem afetar o desempenho.

Se você não fizer nada com XML no lado Oracle, em seguida, manter em como LOBs.

"Excelente desempenho DML" listado lá é, um, um exagero (quando se fala de colocar / recuperar XML não transformados, i. E. Fluxo de bytes)

Na verdade, se o servidor irá processar menos de consultas 10 por segundo, dificilmente você vai notar qualquer diferença em tudo.

Outras dicas

Se você está indo para selecionar ou atualizar partes apenas do XML do que o armazenamento relacional objeto é o caminho a percorrer. As únicas desvantagens é que desde o xml é fragmentado internamente, espaços em branco e formatação é removida, mas como o documento diz que ainda está em conformidade com DOM.

Se você estiver indo para usar o banco de dados como somente um armazenamento e toda a manipulação XML que vai acontecer em movimento do lado do cliente com a opção de armazenamento de LOB.

Se você estiver usando 11g, que agora tem um XMLINDEX que melhora extremamente o desempenho quando os campos atualização / selecionando XmlType armazenado com opção de LOB.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top