Is there a general rule-of-thumb as to how large lookup tables can be?
More specifically, my company wants to have a 'historical drug lookup' table by month (60 months of data, approx. 10 million rows). A 10 million row lookup table seems extremely large. In my example, they want the drug lookup to contain an average wholesale price for a drug_id for each month. The month and drug_id would be on the fact table (can be in the tens of millions) and would be used to join to the lookup to get at that historical information. Is this the best approach or should that average price be "merged" back onto the fact table?
Oracle 8i, Microstrategy (ROLAP)
This is really a data warehousing question, so I'm going to leave the final word on that aspect to one of our data warehousing experts. I would fold the average price into the fact table because at least from my perspective it is a sales fact.
No, there should be no mechanical limit on the size of a lookup table. I'm not familiar with Microstrategy, but the database itself shouldn't care about the size of lookup tables.
For More Information
- What do you think about this answer? E-mail the editors at editor@searchDatabase.com with your feedback.
- The Best Database Design Web Links: tips, tutorials, scripts, and more.
- Have an Oracle or SQL tip to offer your fellow DBAs and developers? The best tips submitted will receive a cool prize. Submit your tip today!
- Ask your database design -- or help out your peers by answering them -- in our live discussion forums.
- Ask the Experts yourself: Our SQL, database design, Oracle, SQL Server, DB2, metadata, object-oriented and data warehousing gurus are waiting to answer your toughest questions.