i don't think it will be a problem in terms of performance but rather on performance. In any RDBMS, the principle of improving performance is to minimize disk read because disk read is costly. That is, if SQL read one whole chunk of 1 extent into memory instead of just 1 page, then SQL don't need to access the disk to read the other 7 pages because its already in the memory, the 1 extent (although the pages itself may contain a lot of blank data). But by design principle, you always try to minimize NULL columns because the attribute is not fully dependent to the primary key. In addition, programming wise, you don't have to worry about the other state of the column (UNKNOWN which is NULL) during comparison (TRUE AND NULL IS NULL, that is, depending on your ANSI NULL settings
). Anyway, having ALL fields might be overkill but then again, you have to see the business requirements, rules, and application assumptions made to the database (as the saying goes, don't break the wall not unless you know why it was put there in the first place).