Yes,
Your performance will be increased as it does not have to check the foreign key, but what is more important for the users. performance or data integrity?
Having worked on many databases, I would prefer the data to be clean than have a fast queries.
Consider the following:
Users have to enter a country in text format. The text has no foreign key. Thus for Great Britain the user might enter:
GB, G.B., Great Britain, Britain, UK, U.K. U K, etc.
You are then asked by your manager to create a report on all customers in Great Britain.
What do you do?
select * from tblCustomer where Country in ('GB', 'G.B.', 'Great Britain', 'Britain', 'UK', 'U.K.', 'U K')
What about: 'G B', 'United Kingdom'...... (the list is endless including all the spelling mistakes!!)
It is clear that having a foreign key onto a counties table would be better so that only 'Great Britain' can be entered rather than all the other combinations.
A simple example but, foreign keys are important to keep your database clean and not full of the rubbish that we as programmers are usually asked to process and produce reports from !!!
Hope this helps
Chris Dukes