我正在做一个必须支持两个数据库引擎的项目;SQL Server 和 PostgreSQL。
我们使用 NHibernate 作为 ORM。
我们遇到了某些查询的性能问题。使用 SQL Server 工具,我们提出了几个新的索引和统计数据,大大提高了 SQL Server 的性能。但是,我不确定如何在 PostgreSQL 上实现相同的索引和统计信息。
两个例子是:
CREATE STATISTICS [perfStat_Answer_02] ON [dbo].[Answer]
([InclusionExpressionGroupId], [QuestionId], [AnswerId])
CREATE NONCLUSTERED INDEX [perf_Answer_01] ON [dbo].[Answer]
(
[QuestionId] ASC
)
INCLUDE (
[AnswerId],
[InclusionExpressionGroupId],
[AnswerConceptId],
[Revision],
[AnswerText],
[AnswerOrder]
)
WITH (
SORT_IN_TEMPDB = OFF
, IGNORE_DUP_KEY = OFF
, DROP_EXISTING = OFF
, ONLINE = OFF)
ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)
INCLUDE如果存在这样的功能,PostgreSQL 中 d 字段的语法是什么?
我们如何添加统计信息?
阅读 PostgreSQL 文档,我不相信两者都受支持。但是,我想知道是否有任何方法可以完成类似的事情。