pgjdbc连接属性stringtype
可以是VARCHAR
或UNDEFINED
:
指定绑定通过setString()设置的PreparedStatement参数时要使用的类型。如果将stringtype设置为VARCHAR(默认值),则此类参数将作为varchar参数发送到服务器。如果将stringtype设置为unspecified,则参数将作为未类型化的值发送到服务器,并且服务器将尝试推断适当的类型。如果您有一个使用setString()设置实际上是其他类型的参数(例如整数)的现有应用程序,并且无法更改该应用程序以使用适当的方法(例如setInt()),这将非常有用。
我有一列类型为TEXT
的列,如果我将stringtype
设置为VARCHAR
,PostgreSQL会使用我的索引来搜索该列吗?
我之所以这样问,是因为查询计划器通常会查找列的确切类型以使用具有相同类型的索引。如果发现其他类型,则跳过索引,而是顺序读取。