Использование AMP в команде создания таблицы в Teradata - PullRequest
1 голос
/ 06 июня 2011

Я новичок в Teradata.Может кто-нибудь сказать мне, как именно AMP собирается помочь в создании любой таблицы в Teradata.Давайте иметь сценарий.У меня есть база данных Teradata с 4 AMP.Я узнал, что AMP будут полезны, когда мы вставим данные в таблицу.В зависимости от индексов он будет распространять данные с помощью уважаемых AMP.Но при создании таблицы команду нужно выполнять только через AMP.Итак, я хочу знать, какой AMP будет использоваться в то время ??

1 Ответ

1 голос
/ 07 июня 2011

Фактическое создание таблицы в словаре данных - это операция уровня RowHash, включающая один AMP для сохранения записи в DBC.TVM.На основании других действий, перечисленных в ОБЪЯСНЕНИИ, могут быть задействованы и другие AMP, но нет ни одной операции All-AMP.(Это не учитывает загрузку данных и их распределение по AMP.)

Образец EXPLAIN:

  1) First, we lock FUBAR.ABC for exclusive use. 
  2) Next, we lock a distinct DBC."pseudo table" for write on a RowHash
     for deadlock prevention, we lock a distinct DBC."pseudo table" for
     write on a RowHash for deadlock prevention, we lock a distinct
     DBC."pseudo table" for read on a RowHash for deadlock prevention,
     and we lock a distinct DBC."pseudo table" for write on a RowHash
     for deadlock prevention. 
  3) We lock DBC.DBase for read on a RowHash, we lock DBC.Indexes for
     write on a RowHash, we lock DBC.TVFields for write on a RowHash,
     we lock DBC.TVM for write on a RowHash, and we lock
     DBC.AccessRights for write on a RowHash. 
  4) We execute the following steps in parallel. 
       1) We do a single-AMP ABORT test from DBC.DBase by way of the
          unique primary index. 
       2) We do a single-AMP ABORT test from DBC.TVM by way of the
          unique primary index. 
       3) We do an INSERT into DBC.Indexes (no lock required). 
       4) We do an INSERT into DBC.TVFields (no lock required). 
       5) We do an INSERT into DBC.TVM (no lock required). 
       6) We INSERT default rights to DBC.AccessRights for FUBAR.ABC. 
  5) We create the table header. 
  6) Finally, we send out an END TRANSACTION step to all AMPs involved
     in processing the request.
  -> No rows are returned to the user as the result of statement 1. 
...