เหตุใดปุ่มลำดับ GUID จึงทำงานได้เร็วกว่าปุ่ม INT ตามลำดับในกรณีทดสอบของฉัน
หลังจากที่ถามนี้คำถามเปรียบเทียบลำดับและ guid ของที่ไม่ใช่ลำดับผมพยายามที่จะเปรียบเทียบประสิทธิภาพ INSERT เมื่อวันที่ 1) ตารางที่มีคีย์หลัก GUID เริ่มต้นตามลำดับด้วยnewsequentialid()และ 2) ตารางที่มีคีย์หลัก INT identity(1,1)เริ่มต้นตามลำดับด้วย ฉันคาดว่าหลังจะเร็วที่สุดเนื่องจากมีความกว้างน้อยกว่าจำนวนเต็มและมันก็ดูเหมือนจะง่ายกว่าในการสร้างจำนวนเต็มตามลำดับกว่า GUID ตามลำดับ แต่ด้วยความประหลาดใจของฉัน INSERTs บนตารางที่มีคีย์จำนวนเต็มช้ากว่าตาราง GUID ตามลำดับอย่างมีนัยสำคัญ นี่แสดงการใช้เวลาเฉลี่ย (มิลลิวินาที) สำหรับการทดสอบการทำงาน: NEWSEQUENTIALID() 1977 IDENTITY() 2223 มีใครอธิบายเรื่องนี้ได้บ้าง มีการใช้การทดลองต่อไปนี้: SET NOCOUNT ON CREATE TABLE TestGuid2 (Id UNIQUEIDENTIFIER NOT NULL DEFAULT NEWSEQUENTIALID() PRIMARY KEY, SomeDate DATETIME, batchNumber BIGINT, FILLER CHAR(100)) …