ตารางที่ต้องสงสัยคือตารางการยกเลิก / การรวม
ถ้าอย่างนั้นก็ไม่เป็นไรหรอกมันคือ "สิทธิ"
day
และมันมีกลิ่นเหมือนตารางสรุปเพราะมันเริ่มต้นด้วย
คุณมีดัชนีรองบ้างไหม? โปรดทราบว่าหากคุณใช้ InnoDB คอลัมน์หลักที่เหลือจะถูกตรึงไว้ที่ส่วนท้ายของดัชนีรอง นี่ไม่ใช่ปัญหาอีกต่อไป
100M แถวเป็นจำนวนมากสำหรับการยกเลิก ดูเหมือนว่าตารางนั้นละเอียดเกินไป นั่นคือบางทีถ้า (date, a, b, c, d) คุณควรมี rollups 4 อันที่มี PKs เช่น (date, a, b, c), (date, b, c, d), (date, c, d, a), (วันที่, d, a, b) (หรือชุดค่าผสมที่เหมาะสม) ฉันทำอย่างนั้นแต่ละแถวอาจมีเพียง 10M แถวเท่านั้นจึงทำให้รายงานยังเร็วขึ้นในขณะที่มีความยืดหยุ่นในรายงานเกือบเท่ากัน
หรืออาจเปลี่ยนเป็น (สัปดาห์, a, b, c, d) อาจนำไปสู่แถว 14M เท่านั้น (อาจเป็นไปได้มากกว่านี้)
ใช้พาร์ติชั่เพื่ออำนวยความสะดวกการตัดแต่งกิ่ง --- การส่งผ่านข้อมูลความเร็วสูง --- เคล็ดลับคลังข้อมูล --- ตารางสรุป สรุปเทคนิคต่าง ๆ ที่ฉันได้พัฒนาในโครงการ DW หลายโครงการ ในขณะที่คุณอาจสรุปแต่ละโครงการจะแตกต่างกัน จำนวนสรุปตารางทั่วไป (ในประสบการณ์ของฉัน) คือ 3-7 เป้าหมายในการสรุปคือ 10 แถวข้อเท็จจริง -> 1 แถวสรุป (นั่นอาจเป็น 'ค่ามัธยฐาน') ในกรณีที่หายากฉันสรุปตารางสรุป ในกรณีที่หายากอื่นฉันแบ่งตารางสรุปให้มีผลดี โดยปกติแล้วตารางสรุปมีขนาดเล็กเพียงพอดังนั้นจึงเร็วพอสำหรับการเข้าถึงโดยตรงจาก UI