You can minimize the decryption overhead when searching on short encrypted fields by combining a couple of different approaches that are typically dependant on the type of search and on the platform used. In general, you want to encrypt a few very sensitive data elements in a schema, like social security numbers, credit card numbers, patient names, etc. If some care and discretion is used, the amount of extra overhead can be minimal. Creating indexes on encrypted data is useful only in some specific cases.
Exact matches and joins of encrypted data can normally utilize the indexes you create. Since encrypted data is random binary data, range checking of encrypted data would require table scans in most vendor solutions. Range checking will normally require decrypting all the row values for a column, so it should be avoided. Searching for ranges or partial matches on encrypted data fields within a database can be enabled with minimal decryption overhead and will avoid full table scans if your solution supports any type of accelerated index-search or partial field encryption. Some of these approaches are dependent on specific platform capabilities and the type of search that you perform.