หากแหล่งที่มาแทรกอย่างเดียวให้มันIDENTITY
คอลัมน์ เมื่อคุณถ่ายโอนข้อมูลคุณจะบันทึกค่าสูงสุดที่เขียนไว้ ในระหว่างการถ่ายโอนครั้งต่อไปคุณจะต้องค้นหาเฉพาะค่าที่มากกว่าที่บันทึกไว้ในระหว่างการถ่ายโอนก่อนหน้า เราทำสิ่งนี้เพื่อถ่ายโอนบันทึกข้อมูลไปยังคลังข้อมูล
สำหรับแถวที่อัปเดตได้ให้เพิ่มธง "สกปรก" มันจะมีสามค่า - สะอาดสกปรกและถูกลบ ข้อความค้นหาแบบวันต่อวันจะต้องตัดแถวที่มีการตั้งค่าสถานะเป็น "ลบ" ซึ่งจะมีราคาแพงในการบำรุงรักษาการทดสอบและการใช้งาน หลังจากเคียวรีขนาดใหญ่คุณพูดถึงแถวทั้งหมดที่ทำเครื่องหมายเพื่อลบจะต้องถูกลบออกและการตั้งค่าสถานะสำหรับผู้อื่น นี้จะไม่ขยายขนาดได้ดี
ทางเลือกที่เบาเพื่อจับเปลี่ยนข้อมูลการติดตามการเปลี่ยนแปลง มันจะไม่บอกคุณว่ามีการเปลี่ยนแปลงค่าเพียงแค่ว่าแถวมีการเปลี่ยนแปลงตั้งแต่มันถูกสอบถามครั้งสุดท้าย ฟังก์ชั่นในตัวช่วยในการเรียกค้นค่าที่เปลี่ยนแปลงและการจัดการการติดตาม เราประสบความสำเร็จในการใช้ CT ในการประมวลผลประมาณ 100,000 การเปลี่ยนแปลงต่อวันในตารางแถวละ 100,000,000
การแจ้งเตือนการค้นหาจะดำเนินการกับคันโยกที่สูงขึ้น - ที่ระดับของชุดผลลัพธ์ ตามแนวคิดแล้วมันเหมือนกับการกำหนดมุมมอง ถ้า SQL Server ตรวจพบว่าแถวใด ๆ ที่ส่งคืนผ่านมุมมองนั้นเปลี่ยนไปมันจะส่งข้อความไปยังแอปพลิเคชัน ไม่มีการระบุจำนวนแถวที่เปลี่ยนแปลงหรือคอลัมน์ใด มีเพียงข้อความง่ายๆที่พูดว่า "มีอะไรบางอย่างเกิดขึ้น" มันขึ้นอยู่กับแอปพลิเคชันเพื่อสอบถามและตอบกลับ ในทางปฏิบัติมันซับซ้อนกว่านั้นมากอย่างที่คุณคิด มีข้อ จำกัด เกี่ยวกับวิธีการกำหนดแบบสอบถามและการแจ้งเตือนอาจเริ่มขึ้นสำหรับเงื่อนไขอื่นนอกเหนือจากข้อมูลที่มีการเปลี่ยนแปลง เมื่อไฟแจ้งเตือนจะถูกลบออก หากกิจกรรมที่น่าสนใจเพิ่มเติมเกิดขึ้นในภายหลังจะไม่มีข้อความเพิ่มเติมส่งไป
ในบริบทของคำถามของ OP นั้น QN จะมีความได้เปรียบในการตั้งค่าใช้จ่ายต่ำและค่าใช้จ่ายในการดำเนินการน้อย มันอาจเป็นความพยายามที่สำคัญในการสร้างและรักษาระบบการสมัครรับข่าวสารทางข้อความที่เข้มงวด เนื่องจากตารางข้อมูลมีขนาดใหญ่จึงมีแนวโน้มที่จะมีการเปลี่ยนแปลงบ่อยครั้งหมายความว่าการแจ้งเตือนมีแนวโน้มที่จะเริ่มทำงานในรอบการประมวลผลส่วนใหญ่ เนื่องจากไม่มีข้อบ่งชี้ว่าการประมวลผลส่วนเพิ่มที่เปลี่ยนแปลงของ deltas จะไม่สามารถทำได้เช่นเดียวกับ CT หรือ CDC ค่าใช้จ่ายเนื่องจากการเรียกที่ผิดเป็นเรื่องน่าเบื่อ แต่แม้ในกรณีที่เลวร้ายที่สุดแบบสอบถามราคาแพงก็ไม่จำเป็นต้องเรียกใช้บ่อยกว่าที่เป็นอยู่ในปัจจุบัน