sql >> Databasteknik >  >> RDS >> Oracle

Vilka är sätten att infoga och hämta BLOB-data från Oracle-databas med SQL?

Först och främst bör du förvänta dig lagra BLOBs i en databas för att vara (ibland lite, ofta betydligt) långsammare, men definitivt inte snabbare än att lagra dem i ett filsystem. Skälen till att lagra dem i en DB handlar inte om prestanda, utan om t.ex.:

  • Otillgänglighet för ett (delat) filsystem i ett klustrat eller belastningsbalanserat scenario
  • Lätt att säkerhetskopiera:en enda process, bl.a. 2 processer när filer och DB används
  • Transaktionssäkerhet:En BLOB är antingen där och komplett eller inte, men inte i ett halvdant stadium
  • andra jag inte kommer på just nu.

Den allmänna tumregeln är att om inget av dessa berör dig bör du lagra dina filer som ... filer. Att lagra metadata och sökväg i en DB är IMHO god och vanlig praxis.

Angående Oracle-tuning:Det finns böcker skrivna om det. Jag misstänker att sammanlagt dem långt över ett ton i död-träd-pocket-format. Du kanske först och främst tittar på Oracle-processens minnesförbrukning - tumregel:Om det är mindre än ett gig och du använder BLOBs, har du problem. Läs på om de olika minnespoolerna och hur du kan öka dem. Vissa begränsningar för expressutgåvan kan gälla.



  1. Datamapper ORM- Codeigniter Advance Relationship

  2. Hur skapar jag ett DESC-index i MySQL?

  3. MySQL hur man ändrar innodb-log-filstorlek

  4. Hur kan jag visa om ett flygbolag avgår från alla flygplatser i min DB i Postgresql?