sql >> Database >  >> RDS >> Sqlserver

Beste manier om een ​​lettertype op te slaan in de SQL Server-database

Er is een heel goed artikel van Microsoft Research genaamd To Blob or Not To Blob .

Hun conclusie na een groot aantal prestatietests en analyses is dit:

  • als uw afbeeldingen of document doorgaans kleiner zijn dan 256K, is het efficiënter om ze op te slaan in een database VARBINARY-kolom

  • als uw afbeeldingen of document doorgaans groter zijn dan 1 MB, is het efficiënter om ze in het bestandssysteem op te slaan (en met het FILESTREAM-attribuut van SQL Server 2008 staan ​​ze nog steeds onder transactiebeheer en maken ze deel uit van de database)

  • tussen die twee, het is een beetje een toss-up, afhankelijk van uw gebruik

Als u besluit uw foto's in een SQL Server-tabel te plaatsen, raad ik u ten zeerste aan om een ​​aparte tabel te gebruiken om die foto's op te slaan - sla de werknemersfoto's niet op in de werknemerstabel - bewaar ze in een aparte tabel. Op die manier kan de werknemerstabel slank en gemeen en zeer efficiënt blijven, ervan uitgaande dat u niet altijd ook de werknemersfoto hoeft te selecteren als onderdeel van uw vragen.

Bekijk voor bestandsgroepen Bestanden en bestandsgroeparchitectuur voor een inleiding. In principe zou u ofwel uw database vanaf het begin met een aparte bestandsgroep voor grote gegevensstructuren maken, of later een extra bestandsgroep toevoegen. Laten we het "LARGE_DATA" noemen.

Wanneer u nu een nieuwe tabel moet maken waarin VARCHAR(MAX)- of VARBINARY(MAX)-kolommen moeten worden opgeslagen, kunt u deze bestandsgroep specificeren voor de grote gegevens:

 CREATE TABLE dbo.YourTable
     (....... define the fields here ......)
     ON Data                   -- the basic "Data" filegroup for the regular data
     TEXTIMAGE_ON LARGE_DATA   -- the filegroup for large chunks of data

Bekijk de MSDN-intro over bestandsgroepen en speel ermee!




  1. Datum automatisch invullen in orakeltabel

  2. opvragen van binaire kolom met behulp van zoals in sql-server

  3. 3 manieren om dubbele rijen in SQL Server te verwijderen terwijl de primaire sleutel wordt genegeerd

  4. de beste manier om gegevenswijzigingen in Oracle bij te houden