Foros del Web » Programando para Internet » ASP Clásico »

Que maravilla...??

Estas en el tema de Que maravilla...?? en el foro de ASP Clásico en Foros del Web. Estuve probando más o menos como funciona el ShapeCommand, y no quiero decir todavía que es una maravilla antes de sacarme un par de dudas. ...
  #1 (permalink)  
Antiguo 14/07/2005, 17:21
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 2 meses
Puntos: 9
Que maravilla...??

Estuve probando más o menos como funciona el ShapeCommand, y no quiero decir todavía que es una maravilla antes de sacarme un par de dudas. La primera, alguien pudo probarlo en alguna aplicación ya existente?, no me refiero en local, sino una aplicación en la que ya tenga varios años funcionando de esta forma para saber si nos podemos fiar del rendimiento de este método.
La segunda, se debe evitar su uso en algún momento?.
La tercera, cual es el costo de esta joya?, es decir, se ve afectado notoriamente el rendimiento de la aplicación al aplicarlo?
Sé que este comando también es nuevo para muchos que lo leímos el otro día en el post, por lo que seguramente no habrá respuestas, pero si alguien sabe o conoce de algo que pueda al menos aclararme un poco esto, estaría muy agradecido.
Saludos!.
__________________
Add, never Remove
  #2 (permalink)  
Antiguo 14/07/2005, 17:24
Avatar de u_goldman
Moderador
 
Fecha de Ingreso: enero-2002
Mensajes: 8.031
Antigüedad: 22 años, 5 meses
Puntos: 98
Pues no se, pero si encuentras las respuestas mantennos informados, la verdad es que solo lo he leido muy rapido y no lo conocia, pero suena bastante poderoso.

Salu2,
__________________
"El hombre que ha empezado a vivir seriamente por dentro, empieza a vivir más sencillamente por fuera."
-- Ernest Hemingway
  #3 (permalink)  
Antiguo 14/07/2005, 23:00
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
Había escrito que no encontraba nada sobre shapecommand, pero era porque no buscaba el comando SHAPE, jejeje.

Aquí ha sido donde he leído algo

en un principio parece que a lo que nos puede ayudar es a la jerarquización de los datos presentados, pero en contra tiene (no parece demasiado complicado de superar y es mi parecer, ojo. otro podrá pensar al contrario) que, si llevas mucho tiempo haciendo JOINS (joder, qué mal suena ésto, jajaja, parece que hablo de marihuana) tienes que reestructurarte el cachito de cerebro que tienes dedicado al SQL.
Ésto lo digo sin probarlo. Me imagino que este hilo seguirá bastante y se pondrán conclusiones después de las pruebas.

Saludos y , por favor, felicitadme por otro mensaje escrito sin conclusiones, jejeje VIVAN LOS JUEVES!!!

Última edición por trasgukabi; 14/07/2005 a las 23:12
  #4 (permalink)  
Antiguo 15/07/2005, 08:35
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
Yo lo he estado utilizando por varios meses en aplicaciones empresariales.

Estamos hablndo de 50,000 registro y de hecho yo nunca uso joins ni nada, de hecho hay otro comando similar está de pelos.



  #5 (permalink)  
Antiguo 15/07/2005, 08:48
Avatar de Myakire
Colaborador
 
Fecha de Ingreso: enero-2002
Ubicación: Centro de la república
Mensajes: 8.849
Antigüedad: 22 años, 4 meses
Puntos: 146
Cita:
de hecho hay otro comando similar
Pero no suelta prenda este orharo, jejeje

En delphi hay algo que creo que es lo mismo, MSdataShape que se podía usar para establecer consultas que tomaran su origen de datos de otro cursor de datos que se carga (no se aún bien dónde se carga, jeje) en el cliente y así se evitan cientos o miles de viajes de la aplicación al servidor para hacer el producto cartesiano (o el join) y se hacen solo dos viajes (o el número tablas implicadas en la consulta). Nunca pude someter a DataShape a pruebas con tablas de millones de registros y no se realmente su rendimiento, pero la ayuda de Delphi explica lo anterior y parece muy bueno. (Con las tablas que lo probé, no había diferencia perceptible)

Saludos
  #6 (permalink)  
Antiguo 15/07/2005, 08:49
 
Fecha de Ingreso: marzo-2005
Mensajes: 1.418
Antigüedad: 19 años, 2 meses
Puntos: 9
Intenté usar getRows() con el objeto ShapeCommand, pero claro, no me sale. Por eso, hice un simple algoritmo para ver como podría obtener los mismos resultados que con ese comando. Será efectivo hacerlo de esta forma?, los resultados que obtuve son exactamente los mismos, salvo que acá guardo tanto el RS padre como el hijo en memoria a través de getRows, y luego los recorro con un par de bucles y una sentencia condicional.
Este es el código:

Código:
Const ShopId = 0
Const ShopName = 1
Const MsgShopId = 0
Const MsgDate = 1
Const MsgTopic = 2
Const MsgFrom = 3

Dim conn, RS1, RS2, rs_Array1, rs_Array2
Dim LastMessage, LastShop
Dim i, a

set conn = Server.CreateObject("ADODB.Connection")
     set RS1 = Server.CreateObject("ADODB.RecordSet")
     set RS2 = Server.CreateObject("ADODB.RecordSet")
          conn.Open(StrConn)
                 RS1.Open("SELECT NegocioId, NombreNegocio FROM Negocios"), conn
                 RS2.Open("SELECT MensajeNegId, MensajeFecha, MensajeAsunto, MensajeDe FROM Mensajes"), conn
                       rs_Array1 = RS1.getRows()
                       rs_Array2 = RS2.getRows()
                       LastShop = UBound(rs_Array1, 2)
                       LastMessage = UBound(rs_Array2, 2)
                 RS1.Close()
                 RS2.Close()
          conn.Close()
     set RS1 = nothing
     set RS2 = nothing
set conn = nothing  

  for i=0 to LastShop 
         Response.Write("Id: " & rs_Array1(ShopId, i)&"&nbsp;&nbsp;Nombre: " & rs_Array1(ShopName, i)&"<br>")
         for a=0 to LastMessage
              if(rs_Array1(ShopId, i) = rs_Array2(MsgShopId, a)) then 
                 Response.Write("Fecha: " & rs_Array2(MsgDate, a)&"&nbsp;&nbsp;Asunto: " & rs_Array2(MsgTopic, a)&"&nbsp;&nbsp;De: " & rs_Array2(MsgFrom, a)&"<br>")    
              end if
          next
 next
Lo que hace este código es mostrarme todos los negocios de la tabla Negocios y los respectivos mensajes que le pertenecen, extraídos de la tabla Mensajes. La "relación" entre ambas tablas, para conseguir que me muestre los respectivos mensajes para cada negocio, la hago con la sentencia condicional dentro del bucle anidado, comparando los campos que sirven para hacer la relacion entre las tablas.
Les parece que esto puede ser una alternativa válida al ShapeCommand, si quiero privilegiar el hecho de mantenerme desconectado de la fuente de datos?
Espero sus opiniones!.
Gracias anticipadas.
Saludos!.
__________________
Add, never Remove
  #7 (permalink)  
Antiguo 15/07/2005, 12:54
 
Fecha de Ingreso: abril-2004
Ubicación: México D.F.
Mensajes: 1.724
Antigüedad: 20 años, 1 mes
Puntos: 4
Cita:
Iniciado por Myakire
Pero no suelta prenda este orharo, jejeje
Lo que pasa es de que no tengo ejemplos aqui, pero el lunes los comparto y les paso el datos correctamente Ok, Bueno no es exactamente de ADO si no de una forma de trabajar con cubos con sql server.

El lunes paso más información.

Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:12.