Staat er een Order By in de query? 10K rijen is best veel als het gesorteerd moet worden.
Ook is het ophalen van de PK geen eerlijke test versus het ophalen van de hele CLOB. Oracle slaat de tabelrijen op met waarschijnlijk veel in een blok, maar elk van de CLOB's (als ze> 4K zijn) wordt buiten de lijn opgeslagen, elk in een reeks blokken. Het scannen van de lijst met PK's gaat dus snel. Er is waarschijnlijk ook een index op de PK, dus Oracle kan de indexblokken gewoon snel scannen en heeft zelfs geen toegang tot de tabel.
4 seconden lijkt een beetje hoog, maar het is 2 MB dat moet kunnen worden gelezen van schijf en over het netwerk naar uw Java-programma worden getransporteerd. Netwerk kan een probleem zijn. Als u een SQL-tracering van de sessie uitvoert, wordt u precies aangegeven waar de tijd wordt besteed (schijflezen of netwerk).