2009-04-20 18 views
11

Quali sono i vantaggi dell'utilizzo del tipo di dati "xml" rispetto alla memorizzazione del contenuto xml all'interno di un tipo di dati "testo"?Tipo di dati XML Postgres

Sono in grado di eseguire una query in base ad un determinato attributo o elemento xml?

E l'indicizzazione e le prestazioni della query?

Oltre al manuale postgresql quali altre fonti online puoi indicarmi?

risposta

9

in generale, i benefici sono gli stessi come per qualsiasi altro tipo di dati e il motivo per cui si dispone di tipi di dati diversi dal testo a tutti:

  • Integrità dei dati
    È possibile memorizzare solo valori XML validi (ben formati) in colonne di tipo xml.
  • Tipo sicurezza
    È possibile eseguire solo operazioni sui valori XML che hanno senso per XML.

Un esempio è la funzione xpath() (XML Path Language), che opera solo su valori di tipo XML, non testo.

Le caratteristiche di indicizzazione e prestazioni delle query non sono migliori o peggiori di quelle del tipo di testo al momento.

14

In questo momento la cosa più importante che si ottiene dai campi XML rispetto al testo non elaborato è XPath. Quindi, se si ha qualcosa di simile a

CREATE TABLE pages (id int, html xml); 

si potrebbe ottenere il titolo di pagina 4 da

SELECT xpath('/html/head/title/text()', html) FROM pages WHERE id = 4; 

In questo momento il supporto XML è piuttosto limitata, ma ha ottenuto molto meglio in 8.3, documenti attuali sono a link text

Problemi correlati