อธิบายด้วยคำแนะนำดัชนี


10

มีซอฟต์แวร์ (โอเพ่นซอร์สเด่นกว่า) มากกว่าที่จะวิเคราะห์ PostgreSQL EXPLAIN และแนะนำดัชนีที่จำเป็นที่จะช่วยเพิ่มความเร็วในการสืบค้นหรือไม่?

คำตอบ:


6

แท้จริงฉันเพิ่งค้นพบนี้ไม่กี่นาทีที่ผ่านมา: http://explain.depesz.com/ คุณวางลงในผลลัพธ์ของการวิเคราะห์ของคุณและแสดงให้คุณเห็นว่ามีปัญหาที่ไหน (มันเป็นรหัสสี)

จากส่วนช่วยเหลือ ...

expl.depesz.com เป็นเครื่องมือสำหรับการค้นหาสาเหตุที่แท้จริงสำหรับการสืบค้นที่ช้า โดยทั่วไปจะใช้เคียวรีอธิบายวิเคราะห์ และอ่านผลลัพธ์ ปัญหาคือทุกคนไม่สามารถเอาท์พุทได้ง่ายและไม่ชัดเจนว่าโหนดที่รันใน 17.3ms นั้นเร็วกว่าหรือช้ากว่าของที่รันใน 100ms - เนื่องจากข้อเท็จจริงที่ว่าสิ่งแรกจะถูกดำเนินการ 7 ครั้ง หากต้องการใช้เว็บไซต์เพียงไปที่หน้าแรกและวางไว้ที่นั่นอธิบายวิเคราะห์ผลลัพธ์จาก psql ของคุณ ผลลัพธ์นี้อาจมีลักษณะเช่นนี้ หลังจากอัปโหลดคุณจะถูกนำไปยังหน้าที่แสดงการแยกวิเคราะห์และอย่างดี (อย่างน้อยก็ดีสำหรับฉัน :) colorized เพื่อเน้นส่วนที่สำคัญ นี่อาจเป็นแบบนี้ หมายเหตุด้านข้าง: url สำหรับเอาต์พุต colorized เป็นแบบถาวร เพื่อให้คุณสามารถใช้มันเพื่อแสดงให้คนอื่น ๆ - ตัวอย่างเช่น - สำหรับคนดีเหล่านั้นในช่อง irc #postgresql บน freenode กราฟนี้ใช้ 4 สีเพื่อทำเครื่องหมายสิ่งที่สำคัญ: พื้นหลังสีขาว - ทุกอย่างเป็นพื้นหลังสีเหลืองดี - โหนดที่กำหนดให้กังวลพื้นหลังสีน้ำตาล - โหนดที่กำหนดให้กังวลมากขึ้นพื้นหลังสีแดง - โหนดที่กำหนดให้เป็นกังวลมาก คุณจะใช้: "พิเศษ", "รวม" หรือ "แถว X"


1

ฉันไม่ได้ตระหนักถึงเครื่องมือใด ๆ สำหรับ Postgres ที่ทำอัลกอริทึมนี้และในความคิดของฉันสมองมนุษย์ (และมักจะมีการทดลองเล็กน้อยในสภาพแวดล้อมการพัฒนา) เป็นเครื่องมือที่เหมาะสมเพียงอย่างเดียวที่นี่ มีปัจจัยหลายอย่างที่เกี่ยวข้องรวมถึงไม่ว่าผู้วางแผนคิวรีจะคิดว่าดัชนีของคุณมีค่าหรือไม่ก็ตามสิ่งที่พิจารณาจากวิธีการติดตั้งของคุณได้ปรับการตั้งค่าตัววางแผนคิวรีและขนาด / สถิติในตารางที่เกี่ยวข้อง s)

คำแนะนำที่ดีที่สุดที่ฉันสามารถทำได้คือการทำEXPLAIN ANALYZE( ANALYZEสิ่งสำคัญคือมันจะช่วยให้คุณค้นหาและเรียกใช้แผนย่อย) ดูผลลัพธ์ด้วยตัวคุณเองและโจมตีหมายเลขที่ใหญ่ที่สุดที่คุณเห็นก่อน คุณอาจจะเขียน parser เพื่อแยกเอาท์พุท EXPLAIN (โดยเฉพาะใน 9.0 กับเอาท์พุท JSON) แต่ฉันไม่รู้จักใครที่จัดการมัน (นี่คือสิ่งที่ optimizers สำหรับ MS-SQL ทำ ... )


0

ไม่มีการผลิตเกรด แต่สำหรับผู้อยากรู้อยากเห็นมี / เป็นโครงการวิจัยเพื่อดำเนินการบางอย่างเช่นนั้น ค้นหา "ที่ปรึกษาดัชนี PostgreSQL"

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.