当通过npgsql定位Postgres时,nhibernate会生成预准备语句吗?

时间:2017-03-04 01:45:15

标签: postgresql nhibernate npgsql

如果是,是否有办法查询数据库以确认正在生成预准备语句,并查看准备好的语句消耗了多少内存?

1 个答案:

答案 0 :(得分:1)

首先,您可以通过查询pg_prepared_statements system view来检查连接上是否存在预准备语句。任何准备好的声明都应该在那里出现。请注意在您要检查的同一连接上查询pg_prepared_statements。我不知道有什么方法可以知道这些语句消耗了多少内存。

如果NHibernate 没有准备语句,您可能需要查看Npgsql 3.2的新自动准备功能。激活后(默认情况下关闭),Npgsql将跟踪语句并自动准备常用的语句。有关详细信息,请参阅Npgsql's performance docs