คำตอบในโพสต์ที่ Stack Overflow เป็นคำตอบที่ดีมากๆ ถึงแม้ว่าโพสต์นี้จะเก่ามากแล้วแต่ก็ยังพอใช้อ้างอิงได้อยู่ (7 ปี+)
- เค้าบอกว่า fact เนี่ย มักจะมีจำนวนแถวมหาศาลเลย ถ้าเราเอาค่าใช้ dimension เข้ามาเก็บด้วยเนี่ย storage ก็จะบวมได้ ดังนั้นแล้วเราควรที่จะเก็บตัวเลขอย่างเช่น integer ไว้ดีกว่า จะเบากว่า และ performance ก็จะดีกว่าด้วย
- ปกติแล้วเราก็มักจะมี attributes อย่างอื่นด้วยที่ dimension table ดังนั้นก็แยก table ออกจาก fact ก็จะดีกว่า
- เวลาที่เราสร้าง report หรือออก dashboard แล้วทำส่วน filter ข้อมูล เราจะได้ไม่ต้องไปใช้
SELECT DISTINCT
ซึ่งถ้าข้อมูลใหญ่มากๆ งานอาจจะเข้าได้