I am working on a database design and am wondering about the pros and cons of two setups. I am going to collect data about two types of entities, lets say cars and boats. The structure of the data will be the same (at least for now). There will be 10s of millions of rows. I could either:
- create one table for boats and one for cars, or
- create one table for both with an extra column indicating whether it's a boat or a car record
The second option would obviously mean I would need to write my procedures twice but perhaps there are good reasons for doing this, like keeping the number of rows smaller per table which might help in performance.
Which approach would perform better? Which approach is more appropriate from a design standpoint?