首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个单列索引的数据库结构

多个单列索引的数据库结构
EN

Stack Overflow用户
提问于 2011-06-20 09:28:45
回答 1查看 97关注 0票数 1

假设我有一个表业务,并且根据我的理解,我在列' country‘上创建了一个索引,DB将把表分解为(某种程度上)块,其中一个或多个块是基于每个国家的。就像这样:

chunk1 =美国国家的记录

chunk2 =美国国家的记录

chunk3 =国家的记录

chunk4 =NZ国家的记录。

如果我现在在‘’列上创建一个单独的索引,那么数据库结构会是什么样的呢?

数据库是否会创建两个单独的数据副本,一个按国家索引,一个由businessType索引?

DB是否会创建块,以便为每个块包含基于每个国家和每个业务类型的数据?就像这样

chunk1 =国家记录=美国& businessType = IT

chunk2 =国家记录=美国& businessType =金融

chunk3 =国家记录=美国& businessType =金融

chunk4 =国家记录=美国& businessType =金融

chunk5 =国家记录= IN & businessType = IT

chunk6 =国家记录= IN & businessType = IT

chunk7 =国家记录= IN & businessType =农业.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-06-20 09:34:44

假设我有一个表业务,并且根据我的理解,我在列' country‘上创建了一个索引,DB将把表分解成(某种程度上)块,其中一个或多个块是根据每个国家的情况而指定的

不是的。你的理解是错误的。

该表将不会被分解,它将有一个大块的记录,一开始按大致的插入顺序。

如果需要的话,索引是按块组织的(尽管它通常更像树结构)。

索引存储索引列值和指针(表本身中记录的位置)。

,如果我现在在'businessType‘列上创建一个单独的索引,那么数据库结构会是什么样的呢?

表存储结构根本不会改变。您将只需要一些额外的索引。

数据库将创建两个单独的数据副本,一个按国家索引,一个由businessType索引?

如果您在列'businessType‘上创建一个单独的索引,那么您将只有'businessType’组织一个树结构。这完全独立于前面创建的其他索引。

数据库会创建块以便每个块包含每个国家和每个业务类型的数据吗?

如果您在(country,businessType)上创建了一个复合索引,那么您实际上将得到一个由两列“分组”的索引:树的第一级将在country上分派,第二个级别(对于给定的国家)将在businessType上分配。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6409231

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档