Why SELECT * FROM Foo command work slow in Oracle?

I think above command work slow may be because of  API which you are using to interact with the database (SQL*Plus, JDBC, ODBC, etc.) Any API will have some function that specifies how many rows (or how much data) to fetch in a single network round-trip.

For example, in SQL*Plus, it's set arraysize N. In JDBC, it's [setFetchSize]( Other APIs will have similar functions. If you're on a WAN, you generally want to minimize how chatty your application is by increasing the number of rows fetched with each network round trip.