Multiple bit columns vs. Question and questionLookup table.
I have a vendor that wants to hand over a DB to me. One of his tables currently has 10 bit fields in it. My thought is to ask for the table to be normalized further. My thought is that I should add a Questions and questionsLookup tables and get rid of all the bit fields. The logic being that instead of queries being
"select fooID from foo where bitField1 = 1 or bitField4 = 1 orbitField7 = 1... group by id"
they would be
"select fooID from foo inner join questionLookup on foo.fooID = questionLookup.fooID where Questions.questionID in(1,4,7).
My thinking is not only would this be easier to read and write queries for, it also would not require adding new fields whenever a new question is introduced, the way the current method does. I furthermore would expect it to be faster (provided proper indexing), but currently have no way to prove it.
Has anyone done performance testing on this same sort of scenario that could share results? If not, is the general thought that my proposed modification would help or hinder performance?
Thanks -- however, I dont really have the grounds to make it a requirement. I can make it a recommendation, but unless it's going to hinder performance, its tough for me to enforce. I spent some time googling today, and havent yet seen anything regarding this.