Suppose I need to encrypt certain table-fields of a MySQL database. Additionally, I need to search some of those fields I did encrypt.
How would one search those fields anyway?
Decrypting each record step by step is no option: Suppose I have multiple of thousands of records. It would take too much time and space to decrypt each record and check if each single record matches the search.
UPDATE 2012-09-07
Adding further details to the database schema would be OK, since I'm about to implement a new application. Furthermore, I need to extend applications currently running in production. But even for those application, adding further details would be OK.
UPDATE 2012-09-08
Encryption is the kernel of this question.
Access restrictions, as proposed by some answers, already apply - but do not fit the formal requirement to encrypt data.
This formal requirement is not Payment Card Industry Data Security Standard [PCI].
