Do you need to load 100M rows every time?
I would suggest you search for Incremental Load to find out how to make the load more efficient.
Also only load the fields you require, to reduce the width of each row. Do not use Select * From...
If the server is remote, then it may be worth considering using a stored procedure or view on the SQL side, if that helps reduce the amount of data being passed to QlikView.
These posts by marcus_sommer should help
Put a Publisher in the same LAN as your SQL database and let it do the reloads. You may have to define different data stages to handle the incremental load (always a good thing to do) efficiently. Publish the resulting end-user QVW on one or more QVS close to your users. You will only transfer data that has been processed and compressed into a QVW over the internet.