It might not be applicable in your situation, but possibly you could denormalize your table.
For example, if you have multiple language dependent names, you could just have named columns for each language.
For example, if your access is index-based, consider varray
or nested tables
.
Another idea is to use triggers: On insert/update/delete, update another table (or tables), and use that table for the query. Possibly you can pre-calculate aggregates this way as well.