Have you tried changing it to connect to an extract instead of the live connection?
actually I want a live connection for my reports
Are you publishing to your work server or public space? If it's work server, then just use an extract and set the extract to refresh more often, maybe every hour?
Even if it runs fast on the SQL server, I've found that it can be painfully slow using a live connection and is only resolved if an extract is used.