我发现了很多有关什么 的信息STATISTICS
:如何维护它们,如何从查询或索引手动或自动创建它们,等等。但是,我无法找到有关何时使用的任何指导或“最佳做法”信息创建它们:在什么情况下,手动创建的STATISTICS对象比从Index中受益更多。我已经看到了手动创建的筛选统计信息,可以帮助对分区表进行查询(因为为索引创建的统计信息涵盖整个表,而不是每个分区-太小了!),但是肯定还有其他情况可以从统计对象中受益不需要索引的详细信息,也不需要花费维护索引或增加阻塞/死锁机会的成本。
@JonathanFite在评论中提到索引和统计数据之间的区别:
索引将通过创建与表本身排序不同的查找来帮助SQL更快地找到数据。统计信息可帮助SQL确定满足查询所需的内存/工作量。
那是个很棒的信息,主要是因为它可以帮助我阐明我的问题:
如何知道这(或在任何其他技术信息什么 S和如何 S的相关的行为和性质STATISTICS
)帮助确定何时选择CREATE STATISTICS
在CREATE INDEX
创建索引将创建相关的时候,尤其是STATISTICS
对象?仅具有统计信息而不具有索引会更好地服务于哪种情况?
如有可能,提供一个工作场景示例,说明该STATISTICS
对象比物体更合适,这对超级骗子很有帮助INDEX
。
因为我是一个视觉学习者/思想家,所以我认为并排查看es STATISTICS
和INDEX
es 之间的差异可能会有所帮助,这是帮助确定何时STATISTICS
是更好选择的一种可能方法。
Thingy PROs CONs
------- ---------- -------------------
INDEX * Can help sorts. * Takes up space.
* Contains data (can * Needs to be maintained (extra I/O).
"cover" a query). * More chances for blocking / dead-locks.
STATISTICS * Takes up very little space. * Cannot help sorts.
* Lighter maintenance / won't * Cannot "cover" queries.
slow down DML operations.
* Does not increase chances
of blocking / dead-locks.
以下是我在寻找此资源时发现的一些资源,其中一些资源甚至问了同样的问题,但未得到回答:
**明确地说,我对此没有答案,实际上我希望从一些人那里得到反馈,以在Internet上的此处提供似乎奇怪地缺少的信息。