sql >> Databasteknik >  >> RDS >> Oracle

Långsam fråga i Java av JDBC men inte i andra system (TOAD)

utan ytterligare information kan vi bara anta att ett index inte används med funktionen to_number() tillämpas på kolumnen. Som visas i denna SO-fråga , kan en typkonvertering förhindra att optimeraren använder ett index.

I allmänhet:

  • när du lägger till en funktion i en kolumn (dvs:to_number(id) ) optimeraren kommer inte att kunna använda de vanliga indexen på den kolumnen,
  • om det är möjligt bör du använda kolumnen rå. Till exempel:istället för WHERE trunc(col) = DATE '2009-08-27' du bör använda:WHERE col >= DATE '2009-08-27' AND col < DATE '2009-08-28'
  • om du verkligen måste använda en funktion på en kolumn kan du använda en funktionsbaserat index


  1. bind_param() endast nödvändig för användarinmatade värden eller alla?

  2. Hur LOCATE()-funktionen fungerar i MySQL

  3. SQL Server-historiktabell - fylla i genom SP eller Trigger?

  4. SQL Replace or Insert Into Syntax-fel