I’m using LINQTOSQL and have just discovered I’m stuck with storing things in one table, so now wondering what effect this will have on performance.
If I have say 100K rows of data in a table.
(Each of the 4 sub-sets contains 25K), (subset is defined y its value in the “type” column)
I’m going to index by subset, then within each subset, by date and possibly a few more values.
So my Q is, how significant will my performance be reduced by having all 100K in this one table instead of 25K in 4 different tables? Should I invest time to separate into 4 tables?
Really appreciate your answers :)!
Splitting tables as you described would be considered “horizontal partitioning”. It can be a reasonable approach to addressing major performance issues. However, you are trading off some of the core benefits of using an RDBMS in the first place to gain the performance boost. It’s usually a bad idea to split identical data into separate tables unless you have to.
I’m not sure what your specific question is. Generally speaking, MSSQL isn’t going to bat an eyelash at rifling through 100k records in a properly indexed table. How nit picky do you really need to be? You can get in to the actual index structure if you have some ultra high-performance concerns. If not, don’t worry about it. 100k records is nothing.