【问题标题】:Database schema design for specific READS that are known in advance预先知道的特定 READS 的数据库模式设计
【发布时间】:2020-05-20 09:16:35
【问题描述】:

我正在设计一个 RDBMS 数据库架构并且遇到了一个问题:

如果我有 locations 带有列的表:

 - location_id
 - location_type

location_type 的值可以是:"Warehouse", "Sector", "Row", "Rack", "Locations"

我知道我将有很多 读取 到我的数据库以获取 locations 仅类型为:Sector

为什么创建一个只包含扇区的较小的locations_sectors 表没有好处,所以我不需要从会有更多行的位置表中读取。

将表格分成 X(可用location_type 值的数量)的较小表格听起来不合逻辑,但我不知道为什么不应该这样做的技术答案。

【问题讨论】:

  • 这不是索引的作用吗?
  • 所以索引不需要扫描整个表?将花费相同的时间: 1. 从有 100k 行的location 表中获取 100 个扇区类型的位置。 2. 从有100行的location_sectors表中获取100个扇区类型的位置?
  • 是的,差不多。
  • 那么这就回答了我的问题。随时发布索引可以做到这一点的答案,我会接受它。谢谢:)
  • 我很好,谢谢 - 但请随时阅读索引,然后提交您自己的规范答案! ;-)

标签: mysql postgresql rdbms


【解决方案1】:

当使用WHERE 条件查询具有索引“索引查找运算符”的数据时,无需扫描整个表。

Source

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-12-26
    • 1970-01-01
    • 2010-10-17
    相关资源
    最近更新 更多