sql >> Database >  >> RDS >> Mysql

Prestaties van MySql XML-functies?

Ik heb de neiging om opmerkingen te maken die vergelijkbaar zijn met die van Pekka, maar ik denk dat de reden dat we hier niet om kunnen lachen is uw uitspraak "Deze informatie kan echter enorm verschillen." Dat betekent dat het niet realistisch is om alles te analyseren en in de database te projecteren.

Ik kan niet al uw vragen beantwoorden, maar ik kan er wel enkele beantwoorden.

Met name kan ik je niets vertellen over de prestaties op MySQL. Ik heb het in SQL Server gezien, het getest en ontdekt dat SQL Server in het geheugen XML-extracties uitvoert heel langzaam, voor mij leek het alsof het van schijf aan het lezen was, maar dat is een beetje overdreven. Anderen zullen dit misschien betwisten, maar dat is wat ik heb gevonden.

"Kan Mysql documentgeoriënteerde databases zoals CouchDB/Sesame vervangen?" Deze vraag is een beetje te breed, maar in uw geval kunt u met MySQL de ACID-conformiteit behouden voor deze XML-brokken, ervan uitgaande dat u InnoDB gebruikt, wat niet automatisch kan worden gezegd voor sommige van die documentgeoriënteerde databases.

"Hoe en waarom zijn ze beter/slechter dan een dynamische applicatie die verschillende data opslaat als attributen?" Ik denk dat dit echt een kwestie van stijl is. U krijgt XML-brokken die (vermoedelijk) gedocumenteerd zijn en MySQL kan ze navigeren. Als u ze gewoon als zodanig houdt, bespaart u een stap. Wat zou er gewonnen worden door ze om te zetten in iets anders?

De MySQL-documenten suggereren dat het XML-bestand in een clob-veld zal worden geplaatst. Prestaties kunnen eronder lijden bij grotere documenten. Misschien identificeert u dan subdocumenten die u regelmatig wilt uitbreken en in een onderliggende tabel wilt plaatsen.

Op dezelfde manier, als er bepaalde subdocumenten zijn waarvan u weet dat u ze wilt weten, kunt u een onderliggende tabel maken, "HasDocs", een beetje voorbewerking uitvoeren en deze vullen met namen van subdocumenten met hun telt. Dit zou zorgen voor een snellere statistische analyse en het ook sneller maken om documenten met bepaalde subdocumenten te vinden.

Ik wou dat ik meer kon zeggen, ik hoop dat dit helpt.




  1. mysql hiërarchie self-join, haal alle subcategorieën op

  2. Ondersteunt jdbc de Perzische taal?

  3. Gebruik FILE_NAME() om de logische bestandsnaam te retourneren voor een gegeven bestands-ID in SQL Server

  4. MySQL hoe tabellen op twee velden samen te voegen