3
ทำไม LINQ JOIN จึงเร็วกว่าการเชื่อมโยงกับ WHERE มาก?
ฉันเพิ่งอัปเกรดเป็น VS 2010 และกำลังเล่นกับ LINQ เป็น Dataset ฉันมีชุดข้อมูลที่พิมพ์แน่นหนาสำหรับการอนุญาตที่อยู่ใน HttpCache ของ ASP.NET WebApplication ฉันจึงอยากรู้ว่าอะไรคือวิธีที่เร็วที่สุดในการตรวจสอบว่าผู้ใช้ได้รับอนุญาตให้ทำบางสิ่งหรือไม่ นี่คือรูปแบบข้อมูลของฉันและข้อมูลอื่น ๆ หากมีใครสนใจ ฉันตรวจสอบแล้ว 3 วิธี: ฐานข้อมูลโดยตรง แบบสอบถาม LINQ กับที่ไหนเงื่อนไขที่ "เข้าร่วม" - ไวยากรณ์ แบบสอบถาม LINQ พร้อมเข้าร่วม - ไวยากรณ์ นี่คือผลลัพธ์ที่มีการโทร 1,000 ครั้งในแต่ละฟังก์ชัน: 1. การนึ่ง: 4,2841519 วินาที 115,7796925 วินาที 2,024749 วินาที 2. การนึ่ง: 3,1954857 วินาที 84,97047 วินาที 1,5783397 วินาที …