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.
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas