Optimizing SQL statement can be done by looking at how you are using database objects: do you have well placed index, how you partition your tables, do you have appropriate views, how your database memory managed, fast is your hard disk and log hard disk,...
I think you should use an sql profiler or sql query plan analyzer which come with most of databases in order to check your sql statement performance.
But from the Java side you can make your JDBC code works better by using prepared statement where possible, Using correct mode of ResultSet, using batch commands, correct use of auto commit and manual commit, enabling database cache in different level like statement cache, managing JDBC objects correctly by closing them as soon as you can,..
You may increase the pool size to any number that your hardware/ software can accept but it will not guarantee any performance increase.
You should decide on your connection pool size at least based on the following items: -Maximum number of concurrent database operations. -Maximum possible time that a database operation may take to complete. -Maximum time that a database request can be postponed until a connection become available -etc.