Insert multiple values in a text field using a "delimiter"?
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.