Pregunta

Yo nunca he usado las Tablas Temporales Globales, sin embargo tengo algunas preguntas, ¿cómo van a trabajar en un entorno php.

Cómo es que los datos compartidos:Suponiendo que las conexiones persistentes a oracle a través de php usando oci8.Es la base de datos vinculada a una base de datos de identificación?se hace basado en el httpd de Apache demonios?O es cada solicitud individual único?

Cuando se presenta los datos de la sesión se borran de la tabla temporal global?Estoy suponiendo (o más bien la esperanza) que se hace cuando el script php salidas.Alternativamente, si no estoy suponiendo que voy a tener que quitarlo antes de la secuencia de comandos de salida.

¿Fue útil?

Solución

La tabla temporal global es simplemente la lógica de la definición de una estructura de tabla (Nombre, los nombres de columnas, tipos de datos de columna, etc).Cuando una sesión hace referencia a ella mediante la inserción de datos, un segmento de datos se crea en un espacio de tabla temporal para mantener sólo que a la sesión de datos.Sesiones diferentes por lo tanto puede hacer referencia a la misma lógica de la tabla de definición, porque cada uno tiene su propio segmento de datos que puede ser purgado fácilmente en consignación o cuando se desconecta la sesión sin afectar el resto de las sesiones.

La depuración de los datos en el GTT puede ser en cometer o cuando termina la sesión, dependiendo de la opción con la que fue creado.En cualquiera de los casos, usted no tiene que asistir a la purga de ti mismo antes de desconectar.

Una alternativa útil para el GTT es la subconsulta factoring cláusula ("CON"), en la que puede crear múltiples relaciones que pueden hacer referencia a aquellos previamente declarado en la instrucción SQL.Estos pueden concretarse como un segmento de datos en un espacio de tabla temporal automática de Oracle cuando superan un cierto uso de la memoria, o manualmente mediante la MATERIALIZARSE sugerencia del optimizador.

Otros consejos

Si no recuerdo correcta, los datos de las tablas temporales globales está disponible sólo a partir de una sesión activa, y sólo para esta sesión activa (me refiero a la sesión = conexión).Así que usted puede ver sólo los datos que se inserta antes de la sesión activa.Por lo tanto creo, este datos se borran después de la sesión de clausura.No importa el idioma que está utilizando.

Al menos así lo creo.:D

Como está escrito aquí:http://www.oracle-base.com/articles/8i/TemporaryTables.php

Los datos en una tabla temporal global es privado, de tal manera que los datos insertados por una sesión sólo puede ser accedido por esa sesión.

Los datos en las tablas temporales se eliminan automáticamente al final de la sesión de base de datos, incluso si termina de forma anormal.

Lo siento por mi mal inglés.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top