I have a little issue that I am trying to fix here. We have a helpdesk with a SQL backend. The wonderfully people that set this thing up decided to use SQL, but not only did not normalize the database, they have absolutely no primary or foreign keys established.

What I am trying to do is normalize the database and set it up better, so that way I can program a Java frontend for it.

The current call log table has the following fields

Problem - LONGVARCHAR
WorkInProgress - LONGVARCHAR
Resolution - LONGVARCHAR

Each one of those fields represent a fair amount of input based on the call. I am thinking that part of the slow down in retrieving records is because of all of this information being placed on 1 row. Plus there is very little searching that can be done in a timely matter on these fields.

I want to separate them out to another table. What was suggested to me was to make a completely separate table that will have all this information in there and the link the Call log table up to it. I was thinking about having 3 separate tables, each one based off of these fields and then linking them up to the table.

Which method do you guys think is the best way to go? A single table that will be updated based off the information or 3 separate tables for this information?