sql >> Database teknologi >  >> RDS >> Mysql

Ydeevne af MySql Xml-funktioner?

Jeg har en tendens til at komme med kommentarer, der ligner Pekkas, men jeg tror, ​​at grunden til, at vi ikke kan grine af det, er din udtalelse "Denne information kan dog variere meget." Det betyder, at det ikke er realistisk at planlægge at parse det hele og projicere det ind i databasen.

Jeg kan ikke besvare alle dine spørgsmål, men jeg kan besvare nogle af dem.

Mest bemærkelsesværdigt kan jeg ikke fortælle dig om ydeevne på MySQL. Jeg har set det i SQL Server, testet det og fundet ud af, at SQL Server udfører XML-udtræk i hukommelsen meget langsomt, for mig virkede det som om det læste fra disk, men det er lidt af en overdrivelse. Andre kan bestride dette, men det er, hvad jeg fandt.

"Kan Mysql erstatte dokumentorienterede databaser som CouchDB/Sesame?" Dette spørgsmål er lidt for bredt, men i dit tilfælde lader brugen af ​​MySQL dig bevare ACID-overensstemmelse for disse XML-bidder, forudsat at du bruger InnoDB, hvilket ikke kan siges automatisk for nogle af disse dokumentorienterede databaser.

"Hvordan og hvorfor er de bedre/værre end en dynamisk applikation, der gemmer forskellige data som attributter?" Jeg tror, ​​det er virkelig et spørgsmål om stil. Du får XML-bidder, der (formentlig) er dokumenterede, og MySQL kan navigere i dem. Hvis du bare beholder dem som sådan, sparer du et trin. Hvad ville man vinde ved at konvertere dem til noget andet?

MySQL-dokumenterne foreslår, at XML-filen vil gå ind i et clob-felt. Ydeevne kan lide på større dokumenter. Måske vil du så identificere underdokumenter, som du regelmæssigt vil bryde ud og lægge i en undertabel.

På samme måde, hvis der er bestemte underdokumenter, du ved, du gerne vil vide noget om, kan du lave en undertabel, "HasDocs", lave en lille forbehandling og udfylde den med navne på underdokumenter med deres tæller. Dette ville give hurtigere statistisk analyse og også gøre det hurtigere at finde dokumenter, der har visse underdokumenter.

Gid jeg kunne sige mere, håber dette hjælper.




  1. Sådan skilles DATE og TIME fra DATETIME i MySQL

  2. Sådan fungerer DateTime()-funktionen i SQLite

  3. Hvordan kan jeg indstille en session i codeigniter 3-databasen?

  4. MYSQL finde ud af, hvor forskellige to tekstfelter er?