sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man lagrar olika dokumenttyper

FILESTREAM eller VARBINARY(MAX) , men du bör överväga fördelarna och nackdelarna med att göra det jämfört med att lagra filerna i filsystemet och bara en pekare till filen i databasen.

Fördelar för att lagra filer i databasen:

  • transaktionskonsistens
  • säkerhet (förutsatt att du behöver det och att din databas ändå inte är vidöppen)

Nackdelar:

  • mycket större databasfiler + säkerhetskopior (vilket kan bli dyrt om du är värd på någon annans lagring)
  • mycket svårare att felsöka (du kan inte säga "VÄLJ DOKUMENT FRÅN tabell" i Management Studio och få Word som popup upp)
  • svårare att presentera dokumenten för användare (och tillåta dem att ladda upp) - istället för att bara presentera en länk till en fil i filsystemet måste du bygga en app som tar filen och lagrar den i databasen, och hämtar filen från databasen för att presentera den för användaren.

I SQL Server 2012, FileTable kommer att erbjuda en mer användbar hybrid.



  1. hur man får id för minsta nummer i mysql med MIN()-funktionen

  2. Hur kan jag åsidosätta .. och ...-operatörerna för Ruby Ranges för att acceptera Float::INFINITY?

  3. Infoga överordnade/barnregister i en transaktion

  4. MySQL - använder String som primär nyckel