• Unfortunately, I'm going out of town for a week, but posting a bit of code could help someone else to help you.

    Based on the requirements... 30 fields each 100 characters in length... It's just so sloppy. Anyway, you definitely don't want the "One True Lookup Table" approach. What about something like... You have one table that has the well defined fields for the book. You also have one table that has our 100 character field. Then you have an interim table between them. Now you can index the 100 character field (without having to index 30 of them), you can index the interim table and you can index the book table, all independent of each other. This allows for more than 30 fields, but you could limit that by adding a FieldType or something to the interim table, making it part of the primary key and only allowing 30 different types (guessing a bit here). But I think this would work.

    If you can't do that, I'd still go with XML over Text because, while it's certainly not an optimal solution, it does provide for the structure that the data would require.

    That's my 1.5 cents worth for the moment.

    "The credit belongs to the man who is actually in the arena, whose face is marred by dust and sweat and blood"
    - Theodore Roosevelt

    Author of:
    SQL Server Execution Plans
    SQL Server Query Performance Tuning