![How to sort rows with SQL: Databases for Developers #12](https://i.ytimg.com/vi/eXug14U8pK0/hqdefault.jpg)
เนื้อหา
Q:
การจัดเรียงข้อมูลทำอะไรกับระบบ SQL
A:
การบำรุงรักษาและตรวจสอบฐานข้อมูลอย่างต่อเนื่องเป็นองค์ประกอบสำคัญที่ต้องพิจารณาเพื่อใช้งานระบบ SQL อย่างราบรื่น เมื่อฐานข้อมูลถูกสร้างและเติมข้อมูลในขั้นต้นข้อมูลจะถูกวางในตำแหน่งทางกายภาพที่ต่อเนื่องกัน (หากมีพื้นที่ทางกายภาพที่ต่อเนื่องเพียงพอ) ดังนั้นในกรณีนี้การเรียงลำดับแบบลอจิคัลและการเรียงลำดับทางกายภาพของข้อมูลมีแนวโน้มที่จะคล้ายกันและเพิ่มประสิทธิภาพ
เมื่อข้อมูลถูกแก้ไขลบหรืออัปเดตดัชนีที่เกี่ยวข้องก็จะได้รับการอัพเดตโดยอัตโนมัติเช่นกันเพื่อสะท้อนการเปลี่ยนแปลงเหล่านั้น เป็นผลให้ดัชนีมีการแยกส่วนและข้อมูลกระจัดกระจายไปทั่วพื้นที่จัดเก็บ มันเปลี่ยนลำดับทางกายภาพของข้อมูล (เนื่องจากสูญเสียการจัดสรรอย่างต่อเนื่อง) และการดึงข้อมูลใช้เวลานานซึ่งส่งผลให้ประสิทธิภาพของฐานข้อมูลช้า
วิธีแก้ไขปัญหานี้คือทำการจัดเรียงข้อมูลตามระยะเวลา การจัดเรียงข้อมูลจริงสร้างใหม่หรือจัดระเบียบดัชนีใหม่เพื่อให้ตรงกับการจัดลำดับแบบตรรกะของข้อมูลด้วยการจัดเรียงทางกายภาพ ก่อนดำเนินการจัดระเบียบใด ๆ ดัชนีทั้งหมดควรวิเคราะห์อย่างถูกต้อง ผลลัพธ์การวิเคราะห์จะกำหนดว่าจำเป็นต้องมีการจัดโครงสร้างใหม่หรือสร้างใหม่
การดำเนินการหลักสองอย่างที่ดำเนินการโดยกระบวนการจัดเรียงข้อมูลคือ:
- การปรับโครงสร้างดัชนี - การจัดระเบียบดัชนีใหม่จะดำเนินการเมื่อการกระจายตัวอยู่ในระดับต่ำและประสิทธิภาพจะไม่ได้รับผลกระทบอย่างรุนแรง กระบวนการนี้จริง ๆ แล้วการจัดเรียงทางกายภาพของหน้าระดับใบไม้เพื่อให้ตรงกับการจัดลำดับแบบลอจิคัล มันไม่ได้สร้างหน้าใหม่ ๆ จะเรียงลำดับหน้าที่มีอยู่เท่านั้น การจัดโครงสร้างใหม่สามารถดำเนินการได้ในขณะที่ระบบออนไลน์โดยไม่บล็อกการดำเนินการฐานข้อมูลปกติ
- การสร้างดัชนีใหม่ - กระบวนการสร้างดัชนีใหม่จะดำเนินการเมื่อการแตกแฟรกเมนต์อยู่ในระดับที่ลึกกว่าและประสิทธิภาพช้าเกินไป ในกระบวนการนี้ดัชนีดั้งเดิมจะถูกดร็อปและดัชนีใหม่จะถูกสร้างขึ้น ดังนั้นการสั่งซื้อแบบกายภาพและแบบลอจิคัลจะถูกตั้งค่ากลับไปที่ตำแหน่งเดิมและประสิทธิภาพจะเพิ่มขึ้นมากมาย การสร้างใหม่ยังสามารถสร้างหน้าใหม่ได้ตามต้องการและสามารถดำเนินการในโหมดออฟไลน์หรือออนไลน์
ดังนั้นการจัดเรียงข้อมูลควรเป็นส่วนหนึ่งของกระบวนการบำรุงรักษา SQL Server และจำเป็นต้องดำเนินการอย่างจริงจัง ต้องสร้างแผนวิเคราะห์แบบสอบถามที่เหมาะสมและติดตาม ขึ้นอยู่กับเอาต์พุตการวิเคราะห์เคียวรีต้องสร้างใหม่หรือจัดโครงสร้างดัชนีใหม่ กล่าวโดยย่อการจัดเรียงข้อมูลเป็นสิ่งจำเป็นสำหรับการปรับปรุงประสิทธิภาพของระบบ SQL