tomar datos de sql server de forma óptima

26/11/2003 - 00:07 por Tolo | Informe spam
hola,

estoy accediendo a sql server via ado. Y me gustaría ver como me sugeris que
realice las sentencias select para recuperar los datos.

no se si hacer

vDAdapter = New SqlDataAdapter("select * from t_articulos", vConexio)



o hacerlo llamando a procedimientos almacenados/vistas/funciones, q os
parece más optimo y mejor?



gracias

Preguntas similare

Leer las respuestas

#6 Miguel Egea
26/11/2003 - 09:22 | Informe spam
Las vistas no están compiladas, digamos que su contenido se 'expande' cuando
las llamas con lo que no solo no aportan rendimiento sino que pueden
penalizarlo. Las UDF's, pues depende, las inline, son ocmo las vistas
practicamente, sin embargo las escalares y las de tipo tabla son como sp's.
Hay una excelente presentación sobre ellas en la web de Fernando G.
Guerrero. www.callsql.com , www.solidqualitylearning.com




Saludos
" Tolo" escribió en el mensaje
news:#vDukT$
Mostrar la cita
select
Mostrar la cita
tiempo
Mostrar la cita
solo
Mostrar la cita
sugeris
Mostrar la cita
#7 Tolo
26/11/2003 - 09:34 | Informe spam
perdona, pero que son las UDF inline?.
gracias

"Miguel Egea" escribió en el mensaje
news:%23w2CmZ$
Mostrar la cita
cuando
Mostrar la cita
sp's.
Mostrar la cita
escribió
Mostrar la cita
esto
Mostrar la cita
en
Mostrar la cita
10.000
Mostrar la cita
vConexio)
Mostrar la cita
os
Mostrar la cita
#8 Miguel Egea
26/11/2003 - 13:25 | Informe spam
Las que solamente devuelven un select te pongo algunos ejemplos
use northwind
go
create function ejemploinline(@idCliente nchar(5)) returns table
as
return (select * from orders where customerid=@idcliente)
go

go

create function ejemplotable(@idCliente nchar(5)) returns @t table (orderid
int, employeeid int)
as
begin
insert into @t select orderid,employeeid from orders where
customerid=@idcliente
return
end

go
select * from dbo.ejemploinline('alfki')
select * from dbo.ejemplotable('alfki')

si miras los planes de ejecución verás que en el primer caso te muestra las
tablas base, mientras en el segundo no, eso obedece a que el primero se
comporta como una vista, mientras que el segundo es como un sp, (un sp que
no muestra el plan de ejecución como nos gustaría) y refleja simplemente un
table-scan, que es un scan de la tabla resultado no de dentro del proceso.

Espero que se entienda.


Saludos

Miguel Egea
Microsoft SQL-SERVER MVP
Brigada Anti-Cursores


" Tolo" escribió en el mensaje
news:#ziwwf$
Mostrar la cita
como
Mostrar la cita
aceleran
Mostrar la cita
800
Mostrar la cita
q
Mostrar la cita
Ads by Google
Search Busqueda sugerida