indexing - Teradata:查询连接索引表的主索引列时不使用连接索引
问题描述
我为表员工创建了一个连接索引,
CREATE JOIN INDEX a.EMP_JI AS
SELECT a.employee_number,
a.department_number ,
a.last_name,
a.manager_employee_number
FROM customerservice.employee a
PRIMARY INDEX ( last_name );
然后我像这样查询表 customerservice.employee:
explain sel * from customerservice.employee where last_name = 'Brown';
结果是:
解释
- 首先,我们锁定一个独特的 customerservice.“伪表”以在 RowHash 上读取,以防止 customerservice.employee 的全局死锁。
- 接下来,我们锁定 customerservice.employee 以供读取
- 我们通过使用条件为 ("customerservice.employee.last_name = 'Brown '") 的全行扫描从 customerservice.employee 执行全 AMP 检索步骤,进入 Spool 1 (group_amps),该 Spool 1 (group_amps) 本地构建在安培。Spool 1 的大小估计为 2 行(286 字节),这是不可信的。此步骤的估计时间为 0.07 秒。
- 最后,我们向参与处理请求的所有 AMP 发送一个 END TRANSACTION 步骤。
-> Spool 1 的内容作为语句 1 的结果返回给用户。总估计时间为 0.07 秒。
从Explain的结果来看,join index emp_ji not used,有点迷茫,
解决方案
推荐阅读
- css - 了解最小颜色:每个@media 请求 3 个参数
- go - 检查 IsZero 时使用反射恐慌按名称获取字段
- angular - Angular 实现 Observable
作为同步字符串 [] 数组 - flutter - 从父小部件更新 ModalBottomSheet 内按钮的可见性
- sonarqube - 使用 sonaQube 时,什么情况会停止 Azure devOps 中管道的执行
- botframework - 开发bot时luis中的authoringKey和endpointKey有什么区别?
- django - 如何查找用户属性的重复项和停用重复项
- javascript - 当我尝试安装任何 NPM 包时,我不断收到安装错误
- plot - 如何在R中为时间序列数据创建平滑线图
- ubuntu - Citrix-PrimaryAuthManager:页面加载失败并出现错误 URL 无法显示