Teradata 执行计划
查看Teradata执行计划使用如下语句:
Explain SQL Statement
一般来说,执行计划分为以下几个过程:
1. 锁表
2. 获取数据
3. 完成Transaction
4. 返回数据
锁表:
Teradata有如下几种锁:ACCESS, READ, WRITE, EXCLUSIVE
ACESS 允许读脏数据,允许insert/update/delete
READ 允许读,不能insert/update/delete
WRITE 不允许读,只能insert/update/delete
EXCLUSIVE 最严格,用于改变表或者数据库结构时用 alter table/alter database
获取数据:
根据条件不同获取数据的方法也不同
1. without join
all-AMP RETRIEVE 直接从AMP中提取数据并返回
如果where 条件使用了unique primary index,则更加简单高效,使用 single-AMP RETRIEVE
2. with join
首先将一个表中数据用all-AMP RETRIEVE 取出,然后再重新分布到所有AMP中,然后进行all-AMPs JOIN。
如果连接条件使用了unique primary index,则会省略all-AMP RETRIEVE,因为所有数据已经根据joi