sql >> Base de Datos >  >> RDS >> PostgreSQL

consultar mucho más lento con la declaración preparada en comparación con la declaración

Su declaración preparada emite full_address en text (tipo de texto incorporado de Postgres), mientras que parece que su tabla se crea con un citext (sin distinción entre mayúsculas y minúsculas) tipo de texto (o le falta un índice en full_address::text ). Tal vez intente crear un índice en full_address::text y vea si su declaración preparada lo recogerá.

Otra opción es usar un text escriba para la full_address y luego crea un índice funcional en lower(full_address) -- la palatabilidad de esa opción depende de cuáles sean sus requisitos.

Creo que parte del problema es que JDBC no conoce el citext escríbalo a menos que pueda hacer que JDBC envíe su dirección a la base de datos como citext type, el planificador de consultas lo interpretará como text , al igual que su setString() el método probablemente lo haga.

Curiosamente, me encontré con un problema similar recientemente

Divulgación:trabajo para EnterpriseDB (EDB)