Rumah >pembangunan bahagian belakang >C++ >Adakah Menyimpan Fail sebagai Tatasusunan Byte dalam VARbinARY(MAX) SQL Server merupakan Penyelesaian Penyimpanan Pangkalan Data yang Berkesan?
Menyimpan pelbagai jenis fail (cth., .gif, .doc, .pdf) dalam pangkalan data memberikan cabaran yang ketara. Penyelesaian biasa melibatkan menukar fail kepada tatasusunan bait dan menyimpannya sebagai data binari. Tetapi adakah ini kaedah yang paling berkesan?
Analisis ini memfokuskan pada VARBINARY(MAX)
jenis data SQL Server untuk menyimpan data fail.
Fungsi databaseFilePut
membaca fail, mengubahnya menjadi tatasusunan bait (menggunakan FileStream
dan BinaryReader
), dan memasukkan tatasusunan ini ke dalam lajur Raporty
jadual VARBINARY(MAX)
.
Fungsi databaseFileRead
mendapatkan semula fail daripada pangkalan data dan menyimpannya ke lokasi sistem fail yang ditentukan. Ia membaca tatasusunan bait daripada lajur VARBINARY(MAX)
, membina semula fail dan menulisnya ke laluan yang ditetapkan.
Fungsi databaseFileRead
juga memudahkan mendapatkan semula fail sebagai MemoryStream
. Ini membolehkan pemprosesan fail dalam memori tanpa memerlukan storan sistem fail sementara.
MemoryStream
DataFungsi databaseFilePut
menyokong pemasukan terus MemoryStream
data ke dalam lajur VARBINARY(MAX)
. Ia menukarkan MemoryStream
kepada tatasusunan bait sebelum sisipan pangkalan data.
Atas ialah kandungan terperinci Adakah Menyimpan Fail sebagai Tatasusunan Byte dalam VARbinARY(MAX) SQL Server merupakan Penyelesaian Penyimpanan Pangkalan Data yang Berkesan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!