Hi, due to how InfoPath works when you use the built in InfoPath data connections InfoPath will return the entire query to your form. If you have a lot of data in the query and have to do filtering within your form this will slow your form down potentially.
If you need to have fine grained control over your queries and also manage security better you should look at using a web service to perform this function. The web service can allow you to parameterize your query and return just what you need to the form. The webservice can also be configured to manage the security so that passwords don't need to be stored in plain text.
If you are interested Qdabra Software has a generic web service that we have already built that handles both of these things, you may find that using our already built web service is a much faster and cheaper way than building your own.
You can find out more about DBXL here: http://www.qdabra.com/en/products/dbxl.aspx including downloading a trial version
Ted