If your database provides a partitioning solution then great, you get to have one big table but also partition by the 3 unique types of complaint.

Or....just create three seperate tables and cluster them (if your db provides this option).

Anyways, there are always loads of ideas and options. Academia would say normalise all tables in design and modelling and then de-normalise for performance.

If you're not sure what this means, do some google searches for the terms and learn about them.

I tend to design with performance issues in mind, but after years of the tedious way above.

HTH,

Graeme