Teradata:查询连接索引表的主索引列时不使用连接索引

时间:2018-05-05 16:07:38

标签: 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';

结果是:

解释

  1. 首先,我们锁定一个独特的客户服务。“伪表”用于读取RowHash以防止对customerservice.employee的全局死锁。
  2. 接下来,我们将customerservice.employee锁定为读取
  3. 我们通过带有(“customerservice.employee.last_name ='Brown'”)条件的全行扫描到customerservice.employee进行全AMPs RETRIEVE步骤到Spool 1(group_amps),这是建立的在AMP上本地。假设假脱机1的大小为2行(286字节)。此步骤的估计时间为0.07秒。
  4. 最后,我们向参与处理请求的所有AMP发送END TRANSACTION步骤。
  5. - >作为语句1的结果,假脱机1的内容将被发送回用户。总估计时间为0.07秒。

    从Explain的结果来看,加入索引emp_ji没用过,有点困惑,

0 个答案:

没有答案