Árvore de páginas

Uma tabela temporária no banco de dados possui diversas vantagens, e atende de forma eficiente determinados casos de uso, respeitando-se as limitações, premissas e boas práticas :

  • Tabelas temporárias não suportam TCAlter(). Precisou de uma nova estrutura, crie outra tabela. 
  • Precisa de algum índice na tabela temporária ? Crie-o após criar a tabela ( ou após inserir os dados, mehor ainda). 
  • A aplicação / conexão que criou a tabela, deve limpar a tabela após o uso. 
  • Se a tabela temporária vai conter dados que podem ser extraídos diretamente do banco de dados através de uma Query, voce pode criar a tabela temporária vazia, e inserir os dados nela usando uma instrução SQL Direta – via TCSQLEXEC() por exempo –  INSERT INTO <temporaria>(campos) SELECT (campos) from <tabela> where <condições> – O banco insere para você na temporária, sem precisar trafegar os dados para a aplicação. 
  • Não ter garantia de transacionamento em tabelas temporárias signfica que uma operação de inserção, alteração ou remoção de registros feita em uma tabela temporária em um bloco transacionado ( BEGIN TRANSACTION ...END) pode ou não ser mantido na tabela em caso de ROLLBACK da transação. E isso depende do Banco de Dados em uso. MSSQL por exemplo, não transaciona tabelas temporárias tradicionais ou compartilhadas, Oracle e Postgres transacionam as tabelas temporárias, e esse comportamento pode mudar mediante configuração. 
  • Procure fazer operações em blocos. Por exemplo, se possível inserir varios registros de uma vez – usando TCDBInsert() – isso será mais performático do que inserir registros um a um.
  • Tabelas temporárias tradicionais e compartilhadas podem trocar dados entre si, e serem lidas com queries e joins – desde que a conexao em uso seja a proprietaria da tabela temporaria tradicional. 




  • Sem rótulos