Tabelas temporarias X Consumo do banco
Bom pessoal,
Estou pensando em usar tabelas temporarias para armazenar algumas
informações na sessão do usuario. A utilização seria 99¬ de leitura dessa
tabelas, no caso em questão imagino um pico de 60 usuarios on-line no
sistema, fato que geraria 60 tabelas temporarias, suas informações são poucas.
O que eu gostaria de saber é se esse fato iria afetar muito o consumo de
recurso do banco de dados ?
Obrigado
Odilon
Estou pensando em usar tabelas temporarias para armazenar algumas
informações na sessão do usuario. A utilização seria 99¬ de leitura dessa
tabelas, no caso em questão imagino um pico de 60 usuarios on-line no
sistema, fato que geraria 60 tabelas temporarias, suas informações são poucas.
O que eu gostaria de saber é se esse fato iria afetar muito o consumo de
recurso do banco de dados ?
Obrigado
Odilon
Odiloncs
Curtidas 0
Respostas
Rosterne
17/05/2006
É o seguinte,
Uma tabela temporária, tem uma definição ou uma estrutura como aquela de uma tabela regular, mas os dados contidos terão somente a duração de uma transação ou de uma sessão, ou seja, o Oracle permite que você críe as tabelas provisórias, que podem ser limitadas a uma sessão ou a uma transação.
Você pode usar tabelas provisórias para melhorar um desempenho de uma query complexa e cara. Para fazer isso, você pode colocar em cache os valores de mais de uma query e as mais complexa em tabelas temporarias e rodar Statements SQL, Joins etc. Assim, o desempenho de suas Querys podem melhorar dràsticamente.
Uma Outra coisa é que as tabelas temporárias suportam indíces, trigers etc.
Repondendo sua pergunta, não haveria problemas.
Espero ter ajudado.
Uma tabela temporária, tem uma definição ou uma estrutura como aquela de uma tabela regular, mas os dados contidos terão somente a duração de uma transação ou de uma sessão, ou seja, o Oracle permite que você críe as tabelas provisórias, que podem ser limitadas a uma sessão ou a uma transação.
Você pode usar tabelas provisórias para melhorar um desempenho de uma query complexa e cara. Para fazer isso, você pode colocar em cache os valores de mais de uma query e as mais complexa em tabelas temporarias e rodar Statements SQL, Joins etc. Assim, o desempenho de suas Querys podem melhorar dràsticamente.
Uma Outra coisa é que as tabelas temporárias suportam indíces, trigers etc.
Repondendo sua pergunta, não haveria problemas.
Espero ter ajudado.
GOSTEI 0
Odiloncs
17/05/2006
Mas iria usar essa tabela para armazenar dados referente ao usuario em sua sessão, seriam poucas informações, e 99¬ da utilização seria leitura. A questão é que teria uma tabela para cada usuario logado no sistema. Em um pior caso +- 50 usuarios.
Nesse caso teria algum problema
Nesse caso teria algum problema
GOSTEI 0
Rosterne
17/05/2006
Tem que ver a máquina q vc tá usando, memória, se seu banco tem conexão compartilhada ou dedicada, se é DW ou OLTP, ou seja, se tem blocos definidos maiores e outros indicadores.
Mas pelo seu cenário, parece que não haveria problemas. As tabelas seriam temporárias, pequenas como você falou e pra leitura praticamente.
Se vc criar um indice ainda, melhoraria a performance dessas tabelas.
Espero ter ajudado.
Abraço.
Mas pelo seu cenário, parece que não haveria problemas. As tabelas seriam temporárias, pequenas como você falou e pra leitura praticamente.
Se vc criar um indice ainda, melhoraria a performance dessas tabelas.
Espero ter ajudado.
Abraço.
GOSTEI 0
Motta
17/05/2006
O que será armazenado na temporária ?
Ela é nec. ? Varios dados de sessão ficam na v$session.
Ela é nec. ? Varios dados de sessão ficam na v$session.
GOSTEI 0