1
ลบ vs TRUNCATE
ฉันพยายามทำความเข้าใจกับความแตกต่างระหว่างคำสั่งDELETEและ TRUNCATEความเข้าใจของฉันเกี่ยวกับ internals ไปบางอย่างตาม: DELETE-> เครื่องมือฐานข้อมูลค้นหาและลบแถวออกจากหน้าข้อมูลที่เกี่ยวข้องและหน้าดัชนีทั้งหมดที่ป้อนแถวนั้น ดังนั้นยิ่งดัชนียิ่งใช้เวลาลบนานเท่าใด TRUNCATE -> เพียงแค่ลบหน้าข้อมูลของตารางทั้งหมดออกมาซึ่งจะเป็นตัวเลือกที่มีประสิทธิภาพมากขึ้นสำหรับการลบเนื้อหาของตาราง สมมติว่าข้างต้นถูกต้อง (โปรดแก้ไขให้ฉันถ้าไม่): โหมดการกู้คืนที่แตกต่างกันมีผลต่อแต่ละคำสั่งอย่างไร หากมีผลกระทบใด ๆ เลย เมื่อทำการลบดัชนีทั้งหมดจะถูกสแกนหรือเฉพาะดัชนีที่อยู่แถวนั้น? ฉันจะถือว่าดัชนีทั้งหมดถูกสแกน (และไม่ได้หา?) คำสั่งจำลองอย่างไร? คำสั่ง SQL ส่งและประมวลผลกับผู้สมัครสมาชิกแต่ละคนหรือไม่? หรือ MSSQL ฉลาดกว่านี้สักหน่อย