The optimize clause may do several things, one of which is to shut off sequential prefetch. A lot depends on whether DB2 must materialize the answer set in a temp table before it returns the first row of the answer set to you. For example ,if you had an order by clause, the answer set will have to be materialized in a temp table (unless DB2 can use an index in lieu of sorting of the rows).
Keep in mind that it is hard to exactly predict query response time on a system that it used by many other people at the same time. A major factor in response time is whether the data is already in the buffer pool when you ask for it, or whether DB2 must get it from disk.
When the system is busy, pages your query needs may be flushed out of the buffer pool more often. Even on a system that is not busy, the first time you run a query will usually be slower than if you run it again right after that, because at least some of the needed pages are in the buffer pool when you run the query the second time.