Proper Database Partitioning
I will tell you my experience in defining the terms of "large", "big", "a lot":


a lot is a database that takes around 400 GB for the data of a full month (custom logging information from all our web apps)
big is a table in this database that contains much of this space :-).. about half of this size (200 GB a table, from what I kinda remember)
large is the data in a full day (about 12-15 GB) - which means a partition of that magic table


This is not a rule or a best practice.. but when you feel that your current indexing strategy is a bit lost and nothing seems to make your queries faster, I believe that it's time to take into account the partitioning.