sql >> データベース >  >> RDS >> Sqlserver

SQL Serverに画像を保存しますか?

    ToBlobまたはNotToBlobと呼ばれるMicrosoftResearchによる非常に優れた論文があります。

    多数のパフォーマンステストと分析を行った後の結論は次のとおりです。

    • 写真やドキュメントのサイズが通常256KB未満の場合は、データベースのVARBINARY列に保存する方が効率的です

    • 写真やドキュメントのサイズが通常1MBを超える場合は、ファイルシステムに保存する方が効率的です(SQL Server 2008のFILESTREAM属性を使用すると、トランザクション制御下にあり、データベースの一部になります)

    • これら2つの間では、用途によっては少し混乱します

    写真をSQLServerテーブルに配置する場合は、それらの写真を保存するために別のテーブルを使用することを強くお勧めします。従業員の写真を従業員テーブルに保存しないでください。別のテーブルに保存してください。そうすれば、クエリの一部として従業員の写真も常に選択する必要がない場合、従業員テーブルは無駄のない、平均的で非常に効率的な状態を保つことができます。

    ファイルグループについては、ファイルとファイルグループアーキテクチャでイントロを確認してください。基本的に、大規模なデータ構造用に最初から別のファイルグループを使用してデータベースを作成するか、後でファイルグループを追加します。それを「LARGE_DATA」と呼びましょう。

    これで、VARCHAR(MAX)またはVARBINARY(MAX)列を格納する必要のある新しいテーブルを作成するときはいつでも、ラージデータ用に次のファイルグループを指定できます。

     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
    

    ファイルグループのMSDNイントロをチェックして、試してみてください。



    1. コマンドラインからcsvをmysqlにインポートする

    2. データベース単体テストで依存関係とデータを分離する技術

    3. 陳記法

    4. 複数のテーブル、列にわたるSQLServer2008での全文検索の使用