gpt4 book ai didi

database - SAP ASE 数据库中的分区修剪/消除

转载 作者:搜寻专家 更新时间:2023-10-30 20:49:26 27 4
gpt4 key购买 nike

我想为 SAP ASE 数据库实现分区修剪,但分区似乎没有用到。

这是我的问题的一个最小可验证示例:

  1. 我创建了一个表:

    create table Employee(
    empId INT not null,
    empName VARCHAR(50) not null,
    CONSTRAINT Employee_bk PRIMARY KEY(empId)
    )
    partition by range (empId)
    (
    Employee_p1 values <= (5),
    Employee_p2 values <= (10),
    Employee_p3 values <= (15),
    Employee_p4 values <= (20)
    )
  2. 下面的数据被插入到表中:

    empId  empName
    1 hskf
    6 fdgfh
    8 kygj
    15 zcc
    17 xvx
  3. 当我从表中选择时,查询返回正确的记录:

    1>select * from Employee where empId=6
    2>go

    empId empName
    ----------- --------------------------------------------------
    6 fdgfh
  4. 问题是查询计划显示查询正在扫描所有分区而不是消除其他分区扫描:

    STEP 1
    The type of query is SELECT.

    1 operator(s) under root

    |ROOT:EMIT Operator (VA = 1)
    |
    | |SCAN Operator (VA = 0)
    | | FROM TABLE
    | | Employee
    | | [ Partitions Used: 4, Eliminated: 0]
    | | [ Eliminated Partition ids : ]
    | | [ Used Partition ids : ]
    | | [ Using Dynamic Partition Elimination ]
    | | Using Clustered Index.
    | | Index : Employee_bk
    | | Forward Scan.
    | | Positioning by key.
    | | Keys are:
    | | empId ASC
    | | Using I/O Size 2 Kbytes for data pages.
    | | With LRU Buffer Replacement Strategy for data pages.

根据文档,设置启用语义分区设置为 1。

谁能建议如何消除不必要的分区扫描?

最佳答案

可能的解决方案是数据库设置

basic_optimization_partitions 

已关闭。检查此设置是否已禁用,以及当此设置打开时分区修剪是否有效。

关于database - SAP ASE 数据库中的分区修剪/消除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47556994/

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