you have to check the sql query, generated from QlikView. Direct Discovery generate some queries with WHERE ... IN () command from Dimension. If IN has many varchar values , sql server needs some time to replay. You can tray to change varchar dimension to integer.
How many dimensions do you have? If you don't need all full dimensions, you can change the dimensions to DETACH typ. Direct Discovery will be faster and sql queries are sympler.
My SQL is :
SET DirectTableBoxListThreshold = 100000;
ODBC CONNECT TO 'XXXX';
DIMENSION ACCT_KEY_NUM, PROD_KEY_NUM, DTE_KEY_NUM
Which will give me a good data model.
How can I see the query generated by QV?