![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
Prueba cual es la diferencia de velocidad entre estas dos opciones:
- generando el SQL directamente - generando un SQL con parámetros y luego ir rellenando los parámetros.
|
|
#2
|
||||
|
||||
|
Hazlo por procedimiento almacenado, mejora notablemente ya que solo viajan los datos y no la instrucción por el cable, ademas, el servidor siempre ejecuta mas rápido un procedimiento almacenado.
__________________
mas confundido que Garavito el día del Niño. |
|
#3
|
||||
|
||||
|
He hecho esta prueba y definitivamente conviene hacer un SQL con parámetros.
Lo que no fue concluyente es si es preferible hacer un insert o ejecutar un procedimiento para insertar. Todo me daba el mismo tiempo. Pruébalo en tu servodor a ver como va. (Hecho en Delphi 6, pero con componentes standard, para que no tengas problemas) |
|
#4
|
||||
|
||||
|
Otra solución simple pero que los usuarios entienden es poner justo antes de lanzar la consulta un msgbox: "Esta consulta tardará unos segundos...espere por favor...leyendo >500,000 registros" un poco bizarro pero increiblemente funciona
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
|
#5
|
||||
|
||||
|
Off topic
¿Solución valiente, generosa, lucida o espléndida?
![]()
__________________
Tras casi seis años de trabajar para una empresa alemana como desarrollador Delphi, se vieron forzados a dejarme ir (temas presupuestales). Así que ahora estoy abierto a escuchar nuevas ofertas. |
|
#6
|
|||
|
|||
|
Cita:
Tambien te conviene actualizar a la ultima version de Firebird, hay cierta mejoria en la rapidez en algunas circunstancias.. |
|
#7
|
||||
|
||||
|
Mi estimado Al, yo solo diría "Solución que le sirve para el usuario final" y punto. Como siempre he defendido al usuario el vale leches que si el sql, que si la consulta, que si no está optimizada, etc. Quieren cosas que ellos entiendan en su propio lenguaje y con eso están conformes. ¿Que si un proceso tarde 1 minuto? se paran por un café y san seacabó, lo que les molesta es la incertidumbre de no saber que pasa con el programa.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
|
#8
|
||||
|
||||
|
Es *absolutamente* necesario que el usuario espere????
Porque de lo contrario, yo diria que es mejor poner el proceso en un thread en el background y notificar cuando haya terminado (tipo notificacion de messenger). Muchas veces la desesperacion es mas porque el programa esta colgado, a que el proceso en si se demore... -------- No olvides mirar las recomendaciones que da la documentacion de la BD: http://www.firebirdfaq.org/faq209/ O quizas: http://www.firebirdfaq.org/faq336/ --------- He usado http://www.da-soft.com/anydac/ y en mi experiencia con este driver (de pago) es que tiene un excelente desempeño. Mucho mejor que lo que viene de "fabrica" en Delphi
__________________
El malabarista. |
|
#9
|
||||
|
||||
|
Cita:
![]() Es que me llamó la atención lo de bizarro, cuyo significado puse a manera de juego. Te ofrezco una disculpa por el mal entendido. ![]()
__________________
Tras casi seis años de trabajar para una empresa alemana como desarrollador Delphi, se vieron forzados a dejarme ir (temas presupuestales). Así que ahora estoy abierto a escuchar nuevas ofertas. |
|
#10
|
||||
|
||||
|
No te preocupes mi estimado Al, aqui no pasa nada nadie se molesta. Jajaja. Por otro lado estaremos de acuerdo que no es absolutamente necesario hacer esperar al usuario, casi a todos nos ha pasado que dejamos para una segunda y hasta tercerea iteración optimizaciones como está y mientras tanto ponemos algún mensajito o código provisional mientras terminanos la iteración en que estamos.
Un abrazo hasta Morelia
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
|
#11
|
|||
|
|||
|
En mi experiencia el problema no es que demore, sino ...
Como digo, en mi experiencia el problema no es que demore, sino que se cuelga, me paso de tener este tipo de problema y la mejor solución de todas fue mostrar un panel con un gif y un cartel que diga espere por favor.
|
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Insertar en un dataset?? | izia | Varios | 5 | 22-02-2010 11:04:09 |
| Nuevo golpe de MS | AzidRain | La Taberna | 6 | 05-04-2009 00:06:18 |
| insertar | armando | Servers | 1 | 06-08-2007 20:01:59 |
| Insertar sonidos | egm1802 | API de Windows | 1 | 23-04-2004 18:05:39 |
| Insertar con Ado | comba | Conexión con bases de datos | 1 | 17-02-2004 10:40:51 |
|