ในหนังสือที่ฉันกำลังอ่าน (การสืบค้น SQL Server 2012) ผู้เขียนพูดถึงทฤษฎีการทำงานของฐานข้อมูล เขากล่าวถึงความสัมพันธ์ คุณลักษณะ และสิ่งอันดับ ฯลฯ
เขามักเน้นย้ำถึงความจริงที่ว่าบางแง่มุมของ T-SQL นั้นไม่เกี่ยวข้องกัน เช่นเดียวกับข้อความที่ตัดตอนมาต่อไปนี้:
ต่างจากเฟสก่อนหน้านี้ที่ผลลัพธ์มีความสัมพันธ์กัน ผลลัพธ์ของเฟสนี้ไม่สัมพันธ์กันเนื่องจากมีลำดับที่แน่นอน ผลลัพธ์ของระยะนี้คือสิ่งที่ SQL มาตรฐานเรียกว่าเคอร์เซอร์ โปรดทราบว่าการใช้คำว่าเคอร์เซอร์ในที่นี้เป็นแนวคิด T-SQL ยังรองรับวัตถุที่เรียกว่าเคอร์เซอร์ซึ่งถูกกำหนดตามผลลัพธ์ของการสืบค้น และอนุญาตให้ดึงข้อมูลทีละแถวตามลำดับที่ระบุ คุณอาจสนใจที่จะส่งคืนผลลัพธ์ของแบบสอบถามตามลำดับเฉพาะเพื่อวัตถุประสงค์ในการนำเสนอ หรือหากผู้เรียกจำเป็นต้องใช้ผลลัพธ์ในลักษณะนั้นผ่านกลไกเคอร์เซอร์บางตัวที่ดึงข้อมูลแถวทีละแถว แต่โปรดจำไว้ว่าการประมวลผลดังกล่าวไม่เกี่ยวข้องกัน หากคุณต้องการประมวลผลผลลัพธ์การสืบค้นในลักษณะเชิงสัมพันธ์ เช่น กำหนดนิพจน์ตาราง เช่น มุมมองที่ยึดตามการสืบค้น (รายละเอียดในบทที่ 4) ผลลัพธ์จะต้องเชิงสัมพันธ์ นอกจากนี้ การเรียงลำดับข้อมูลยังอาจเพิ่มต้นทุนให้กับการประมวลผลแบบสอบถามอีกด้วย หากคุณไม่สนใจลำดับที่ส่งคืนแถวผลลัพธ์ คุณสามารถหลีกเลี่ยงค่าใช้จ่ายที่ไม่จำเป็นนี้ได้โดยไม่เพิ่มส่วนคำสั่ง ORDER BY
ฉันต้องการทราบว่าเนื่องจากการใช้งาน SQL
ทุกครั้งจะมีส่วนคำสั่ง ORDER BY
ซึ่งทำให้มันไม่เกี่ยวข้อง เหตุใดจึงสำคัญ ว่า (ชุดหลัง ORDER BY
ถูกใช้) มันไม่เกี่ยวข้องอีกต่อไปเนื่องจาก มันเป็นแบบนั้นทุกที่เหรอ?
ฉันเข้าใจได้ถ้าเขาบอกว่ามันไม่มาตรฐาน เช่น ใช้ !=
แทน <>
สำหรับความไม่เท่าเทียมกันเพราะมันส่งผลต่อความสามารถในการพกพา ฯลฯ แต่ฉันไม่เข้าใจว่าทำไมบางสิ่งถึงดีกว่าถ้ามีความสัมพันธ์กัน
กรุณาให้ความกระจ่าง