มีกระดาษที่ดีจริงๆโดย Microsoft Research เรียกว่าเป็นการหยดหรือไม่ที่จะหยด
ข้อสรุปของพวกเขาหลังจากการทดสอบและวิเคราะห์ประสิทธิภาพเป็นจำนวนมากคือ:
หากรูปภาพหรือเอกสารของคุณมีขนาดต่ำกว่า 256KB การจัดเก็บในฐานข้อมูลคอลัมน์ VARBINARY นั้นมีประสิทธิภาพมากกว่า
หากรูปภาพหรือเอกสารของคุณมีขนาดเกินกว่า 1 MB การจัดเก็บไว้ในระบบไฟล์จะมีประสิทธิภาพมากกว่า (และด้วยคุณสมบัติ FILESTREAM ของ SQL Server 2008 ภาพเหล่านั้นจะยังคงอยู่ภายใต้การควบคุมธุรกรรมและส่วนหนึ่งของฐานข้อมูล)
ในระหว่างสองเหล่านี้มันเป็นการโยนขึ้นอยู่กับการใช้งานของคุณ
หากคุณตัดสินใจที่จะวางรูปภาพของคุณลงในตาราง SQL Server ฉันขอแนะนำให้ใช้ตารางแยกต่างหากสำหรับการจัดเก็บรูปภาพเหล่านั้น - อย่าเก็บรูปถ่ายของพนักงานในตารางพนักงาน - เก็บไว้ในตารางแยกต่างหาก ด้วยวิธีนี้ตารางพนักงานสามารถอยู่ได้อย่างคล่องตัวและมีความหมายและมีประสิทธิภาพมากโดยสมมติว่าคุณไม่จำเป็นต้องเลือกรูปถ่ายของพนักงานเช่นกันซึ่งเป็นส่วนหนึ่งของคำสั่งของคุณ
สำหรับกลุ่มไฟล์ตรวจสอบไฟล์และสถาปัตยกรรมกลุ่มไฟล์สำหรับคำนำ โดยทั่วไปคุณจะสร้างฐานข้อมูลด้วยกลุ่มไฟล์แยกต่างหากสำหรับโครงสร้างข้อมูลขนาดใหญ่ตั้งแต่ต้นหรือเพิ่มกลุ่มไฟล์เพิ่มเติมในภายหลัง เรียกมันว่า "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 intro บนกลุ่มไฟล์แล้วสนุกไปกับมัน!