Para obtener una conjunto vacio

13/10/2004 - 01:23 por Melissa Ruiz | Informe spam
Hoy que vemos que esta discutiendo mucho sobre eficiencia. He estado
utilizando algo asi:

SELECT * FROM TABLA WHERE 1=2

Para devolver a mi aplicacion un conjunto vacio con la estructura de la
tabla.

Si la tabla es muy grande, es eficiente esa solucion ? Hay otra ?

Preguntas similare

Leer las respuestas

#1 SqlRanger
13/10/2004 - 01:34 | Informe spam
¿Es eficiente?

Sí, porque nunca se lee ni una sóla página de datos de la tabla, por muy
grande que ésta sea.

¿Hay otra forma de hacerlo?

Pues sí:

set fmtonly on
select * from tabla
set fmtonly off

Saludos:

Jesús López
MVP
Respuesta Responder a este mensaje
#2 Eladio Rincón
13/10/2004 - 01:39 | Informe spam
Hola,

de la tabla no leerá ninguna página porque el optimizador de consultas sabe
que 1 nunca será igual a 2; leerá lo de siempre; que exista la tabla, que
tengas permiso de lectura sobre la tabla y la lista de columnas; como esa
info. está en tablas de sistema muy "usadas" sysobject, syscolumns, etc.
casi seguro que tampoco hará ninguna lectura física por aquí.

Saludos,

Eladio Rincón
SQL Server MVP
Associate Mentor
Solid Quality Learning Iberoamericana
http://www.SolidQualityLearning.com


"Melissa Ruiz" wrote in message
news:
Hoy que vemos que esta discutiendo mucho sobre eficiencia. He estado
utilizando algo asi:

SELECT * FROM TABLA WHERE 1=2

Para devolver a mi aplicacion un conjunto vacio con la estructura de la
tabla.

Si la tabla es muy grande, es eficiente esa solucion ? Hay otra ?







email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida