เรามีฐานข้อมูลขนาดใหญ่นี้ (> 1TB) ที่เราตั้งใจจะ "ลดขนาด" ฐานข้อมูลหมุนรอบเอนทิตีหลักหนึ่งเรียกว่า "เยี่ยมชม" สำหรับการอภิปรายสมมติว่ามันเป็นฐานข้อมูลสำหรับการปฏิบัติทางการแพทย์
มี "ประเภท" การเข้าชม 30 ครั้งเช่นขั้นตอนรายปีการติดตามการฉีดวัคซีนและอื่น ๆ แต่ละรายการเป็นตารางเงินอุดหนุนสำหรับ "การเยี่ยมชม" เช่น "visit_immuno"
ฐานข้อมูลได้สะสมข้อมูล 12 ปีมาตั้งแต่ปี 2000 มีคนเสนอว่าเราเก็บข้อมูลประมาณ 3 ปีในรุ่น "สด" และให้เวลาที่เหลืออยู่ในฐานข้อมูล "old_data" วันที่จะถูกเก็บไว้เฉพาะในตาราง "เยี่ยมชม" เนื่องจากมันถูกทำให้เป็นมาตรฐาน ตารางเยี่ยมชมยังมีROWVERSION
คอลัมน์และคอลัมน์BIGINT
หลอก (คลัสเตอร์) สำหรับ intents และวัตถุประสงค์สมมติว่ากุญแจสำคัญในการจัดกลุ่มเป็นประชากรโดยลำดับ (SQL Server 2012 องค์กร) - cid
เราจะตั้งชื่อมันว่า
คำสั่งvisit.date
นี้ไม่ได้อยู่ในลำดับเดียวกับคีย์การจัดกลุ่มตัวอย่างเช่นเมื่อแพทย์ไปตรวจเยี่ยมเพิ่มเติมและกลับมาพร้อมกับข้อมูล "กระเป๋าเอกสาร" ของเขามันจะถูกรวมเข้าไว้ในตารางหลัก นอกจากนี้ยังมีการปรับปรุงบางอย่างเพื่อ "ไปที่" ตารางที่จะทำให้ROWVERSION
คอลัมน์ที่จะออกจากซิงค์กับทั้งสองcid
และdate
คอลัมน์ - จะนำมันก็ไม่ROWVERSION
หรือcid
จะทำให้คีย์พาร์ทิชันที่เหมาะสมด้วยเหตุผลนี้
กฎธุรกิจสำหรับการลบข้อมูลจาก "ชีวิต" คือการที่visit.date
จะต้องมากกว่า 36 เดือนและเป็นเด็กที่visit_payment
บันทึกจะต้องมีอยู่ นอกจากนี้ "old_data" ฐานข้อมูลไม่ได้มีการใด ๆ visit%
ของตารางฐานยกเว้น
ดังนั้นเราจึงจบลงด้วย:
Live DB (ใช้ชีวิตประจำวัน) - ตารางทั้งหมด Old-Data DB - ข้อมูลเก่าสำหรับvisit%
ตาราง
ข้อเสนอเรียกร้องให้รวมฐานข้อมูลที่เป็นเปลือกที่มีคำพ้องกับตารางฐานทั้งหมดในLive DB
(ยกเว้นvisit%
) รวมทั้งมุมมองที่ยูเนี่ยนทั้งหมดข้ามvisit%
ตารางในฐานข้อมูลทั้งสอง
สมมติว่ามีการสร้างดัชนีเดียวกันในOld-Data
DB แบบสอบถามจะทำงานได้ดีในมุมมอง UNION-ALL หรือไม่ สิ่งที่ประเภทของรูปแบบแบบสอบถามอาจเดินทางถึงแผนการดำเนินการสำหรับยูเนี่ยน-ALL ชม ?