gpt4 book ai didi

mysql - 包含万亿记录的数据库表的查询计划

转载 作者:行者123 更新时间:2023-11-29 05:28:34 24 4
gpt4 key购买 nike

<分区>

我有一个包含以下模式的数万亿条记录的大表(这里的序列号是关键):

                  MyTable
Column | Type | Modifiers
----------- +--------------------------+-----------
serial_number | int |
name | character varying(255) |
Designation | character varying(255) |
place | character varying(255) |
timeOfJoining | timestamp with time zone |
timeOfLeaving | timestamp with time zone |

现在我想在此表上触发下面给出的形式的查询:

select place from myTable where Designation='Manager' and timeOfJoining>'1930-10-10' and timeOfLeaving<'1950-10-10';

我的目标是实现快速查询执行时间。因为,我是从头开始设计自己的数据库,所以我有以下选择。请指导我这两个选项中哪一个会更快。

  1. 创建 2 个单独的表。此处,表 1 包含模式(serial_no、名称、名称、地点),表 2 包含模式(serial_no、timeOfJoining、timeOfLeaving)。然后在两个表之间执行合并连接。这里,serial_no 是两个表中的键

  2. 保留一个表 MyTable。并运行以下计划:创建索引 Designation_place_name 并使用 Designation_place_name 索引,找到符合索引条件的行 relation = 'Manager'(磁盘上的行是随机访问的)然后使用过滤功能只保留与 timeOfJoining 匹配的行标准。

请帮我看看哪个更快。如果你也能告诉我各自的优缺点就太好了。

编辑:我打算将我的表用作只读。

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