Insert multiple values in a text field using a "delimiter"? Let's say I have a Text field called "description" inside "products" table.

Inside this field I will store 3 values. I will separate them with two pipes ( || ):

requirements:
- bla bla.. (a text)
||
info:
- bla bla.. (a text)
||
specifications:
- bla bla.. (a text)


I am doing this because it looks better than having 3 different Text fields to do the job (which will increase the table's size).

Is this a bad idea? Should I use 3 different fields? Does 3 text fields really affect database performance?
Is this a bad idea?


Almost certainly. If code only ever treats that column as single un-parsed continuous string then it may be OK1. As soon as you want to pull one of the three values it is definitely a bad idea. Even if the parsing happens in the application it is additional complexity that need not be there.


  Should I use 3 different fields?


Yes.


  Does 3 text fields really affect database performance?


Not in any way you will ever notice. Depending on your particular DB software those "text" columns may be treated just like any other data type. Also you must consider how optimized your code to handle this will be compared to that written by a room full of PhD's who built the DBMS and do just this for a living.


1 Even then I'd say have separate columns.