As aware support said, you DO have to know how to write efficient SQL queries. (while you can learn to write a SQL query in a few minutes, when there are a lot of tables (tables = Business Objects) being referenced and/or many conditions (which you have in your query), then there is some skill required in writing an efficient query.
Also, creating indexes (which can consist of multiple columns (columns = attributes) in SQL can dramatically affect the performance.
Bruce