Your options are very limited. CRM will only allow you to use the filtered views however you can query information from external databases by creating a linked server and using 4 part naming or having the other database on the same SQL instance. You could for example hold CRM data in a data warehouse and report off that more example
I would however be more worried about the performance of your CRM server. On one of the CRM instances I look after I tried the same query and it returned in <3 seconds on a table size of 21,971 rows.
I would also say that that your query is also not a normal one you would run as to do the top 1 it will have to query a lot of tables. A more normal query like showing the contacts for a company would be a lot quicker.