Use single table with foreign key or two twin tables for text entries? I have a table answers that has several columns including the content iself such as 

ID | q_id | list_id | user_module_id | content | updated_timestamp


The content column is a varchar since we want to be able to search through the answer content quickly.

However, we also want to be able to store full text as answers. There are two approaches:

A.  Using two "twin" table (with the same columns names) : a table with the column content of type varchar and a table with the column content of type text.

B. Using a single answer table and storing in the content column a hash key such as q_id7user_module_id362 and use another table that contains only the text entry:

hashkey | content


This approach seems cleaner, however it means doing two UPDATEs AND INSERTs for each entry modification and a JOIN on the two table to pull out the information.

In general is this bad practice to have "twin" tables in a database?

Thanks!
Personally I would avoid the twin table approach most, but not all, the time.  It leads to duplication of information and if you find that a wording of a question is bad in the db, it takes a bit to clean it up.  The cleaner solution would be to have the answer table just join user and question and then you only have one update/insert required.

This being said there can be some valid reasons for the twin table approach.  The major one is that if the questions are relatively free-form, frequently changing, etc. and you do not need to track answers across a given form of the question, then a twin table approach forms essentially an "answer log."  It isn't great for analytics if you are just looking at questions and answers, but it might be in some other fields.  I could imagine linguistic research doing well with a twin table approach.   For example it makes it easier to look into questions relating to effects of wording on response (rather than substantive answers to substantive questions).

So in general, I would recommend against a twin table approach unless you know you need it.  A simple answer table joining both the question table and the user table is sufficient for the most common use cases and it is far more useful in most cases.