Pergunta

Eu nunca usei as Tabelas global temporárias no entanto eu tenho algumas perguntas como eles vão trabalhar em um ambiente php.

Como os dados são compartilhados: Assumindo conexões persistentes para Oracle através php usando oci8. Os dados são vinculados a um ID de banco de dados? é feito com base nos demônios do HTTP Apache? Ou é cada pedido individual único?

Quando é que os dados para a sessão apagada da tabela temporária global? Estou assumindo (ou melhor, na esperança) de que o seu feito quando as saídas de script php. Alternativamente, se não estou assumindo que eu vou ter de removê-lo antes de sair script.

Foi útil?

Solução

A tabela temporária global é simplesmente a definição lógica de uma estrutura de tabela (nome, os nomes das colunas, tipos de dados coluna etc). Quando um referências sessão, por inserção de dados, um segmento de dados é criado em um espaço de tabela temporária para armazenar dados só que de sessão. sessões diferentes, portanto, pode referenciar a mesma definição da tabela lógico, porque cada um tem seu próprio segmento de dados dedicado que pode ser purgado com facilidade em cometer ou quando as desconexões de sessão sem afetar outras sessões.

A purga dos dados no GTT pode ser em cometer ou quando a sessão termina, dependendo da opção com a qual ele foi criado. Em ambos os casos você não tem que atender a purga a si mesmo antes de desligar.

Uma alternativa útil para o GTT é a cláusula de subconsulta factoring ( "COM"), no qual você pode criar múltiplas relações que podem fazer referência aos anteriormente declarados em que a declaração SQL. Estes podem ser materializado como um segmento de dados em uma tabela temporário seja automaticamente pela Oracle quando excedem um uso de memória certa, ou manualmente usando a dica materializar otimizador.

Outras dicas

Se eu me lembro correta, os dados em tabelas temporárias globais está disponível apenas a partir de uma sessão ativa e somente para esta sessão ativa (I sessão média = conexão). Assim você pode ver apenas os dados que foi inseridos antes na sessão ativa. Portanto, eu acredito, esses dados são apagados após o encerramento da sessão. Não importa qual a linguagem que você está usando.

Pelo menos eu penso assim. : D

Como é que está escrito aqui: http://www.oracle-base.com/articles/8i/TemporaryTables. php

Os dados em uma tabela temporária global é privado, de modo que os dados inseridos por uma sessão só pode ser acessado por essa sessão.

Os dados em tabelas temporárias é excluir automaticamente no final da sessão de banco de dados, mesmo que termina de forma anormal.

Desculpe pelo meu mau Inglês.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top