gpt4 book ai didi

sql - 数据库系统如何知道特定列有多少个不同的值?

转载 作者:搜寻专家 更新时间:2023-10-30 21:46:56 24 4
gpt4 key购买 nike

在以下链接

http://www.programmerinterview.com/index.php/database-sql/selectivity-in-sql-databases/

作者写道,由于“SEX”列只有两个可能的值,因此它对 10000 条记录的选择性是;根据给定的公式; 0.02%。

但我的问题是数据库系统如何知道这个特定列有这么多唯一值?数据库系统不需要至少扫描整个表一次吗?或者数据库系统会以其他方式了解这些唯一值?

最佳答案

首先,您应用的公式有误。性别的选择性(在给出的示例中)为 50% 而不是 0.02%。这意味着每个值大约有 50% 的时间出现。

数据库跟踪这一点的一般方法是使用一种叫做“统计”的东西。这些是关于所有表并由优化器使用的度量。有时,信息也可以通过列上的索引提供。

关于sql - 数据库系统如何知道特定列有多少个不同的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20788324/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com