That sounds like good fun.
A few questions:
- Why did you choose these types ? varchar, money, bigint, int, bool ? is there a reason or just willing to add some good fun?
- By any chance we could get have a look the insert statement, or TSQL or the bulkinsert ?
- Can you tell how often your insert happens (is it a bulk, or random ?)
- Does the DateTime field contains the date of insert ?
- How did you came to this ? (a one man/day thinking or a team of 20 people working like crazy for the last three months ?)
A few facts seems important to me:
- You insert a million row every day
- You want only the last million data
A few remarks came to me:
- if you're interested only in the last data, deleting/archiving the useless data could make sense (start from scratch every morning)
- if there is only one "inserter" and only one "reader", you may want to switch to a specialised type (hashmap/list/deque/stack) or something more elaborated, in a programming language.