The first important option which can be used for a speed optimization is the TABSQuery.RequestLive property.
If selection query is simple and involves a single table only, try to set RequestLive value to True and to False before opening a query. Some queries run faster with the RequestLive=True, others will perform much better with the RequestLive=False.
http://www.dapfor.com/en/net-suite/net-grid/tutorial/editors