Gracias Víctor, lo leeré. No conocía el concepto. El jue., 9 abr. 2020 18:11, <[email protected]> escribió:
> Hola, te paso un link donde encontraras el concepto de forma > mas pedagógica , de lo que yo te pueda explicar > > > https://www.ibm.com/support/knowledgecenter/es/SSEPEK_10.0.0/intro/src/tpc/db2z_creationoftablecontrolledpartitioning.html > > > > un resumen, db2 crea automaticamente miembros (particion ) de acuerdo al > criterio de particionamiento que hayas defindo al momento de crear la tabla > > yo te decia, que nosotros las tenemos por Periodo de asiento, esto quiere > decir que tengo un miembro por cada AAAAMM de asiento, pero es transparente > para vos ya que lo maneja el sistema > > a nosotros nos es util, ya que al momento de plantearnos una depuracion, > no tenemos que hacer ningun PGm con logica de depuracion, solo eliminamos > el miembro del periodo que queremos depurar y listo (previo a haber hecho > una copia de esa parte de la tabla) > > > espero que me haya hecho entender > > saludos > > > > > > [image: Mailtrack] > <https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&> > Remitente > notificado con > Mailtrack > <https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&> > 09/04/20 > 13:10:31 > > El mié., 8 abr. 2020 a las 19:07, datil400 (<[email protected]>) > escribió: > >> ¿Qué son tablas participadas? >> >> El jue., 9 abr. 2020 0:01, <[email protected]> escribió: >> >>> por que no miras "Tablas Particionadas", nosotros tenemos una base de >>> 3.200.000.000 de registros y las tenemos separadas por periodo del asiento >>> (AAAMM) y la verdad es que andan muy rapido, al margen que a la hora de >>> depurar dichas tablas, tambien es rapido >>> >>> >>> Saludos >>> >>> >>> >>> >>> >>> [image: Mailtrack] >>> <https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&> >>> Remitente >>> notificado con >>> Mailtrack >>> <https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality5&> >>> 08/04/20 >>> 18:52:24 >>> >>> El mié., 8 abr. 2020 a las 17:06, datil400 (<[email protected]>) >>> escribió: >>> >>>> Hola Jesús, >>>> >>>> He de reconocer que nunca he tenido el tiempo suficiente para ponerme >>>> al día en temas como asesor de índices o de rendimiento de la BBDD, a parte >>>> de que se ma hace cuesta arriba. >>>> >>>> Gracias por tus comentarios. >>>> >>>> El vie., 3 abr. 2020 9:44, Jesus Maria Arzak (DHL ES) < >>>> [email protected]> escribió: >>>> >>>>> Buen Dia >>>>> >>>>> >>>>> >>>>> Una cosa muy importante que has de tener en cuenta a la hora de >>>>> utilizar el Sql es que cuando utilices un índice tengas en el Where los >>>>> campos del índice, no hace falta que tengas todos pero los que estén sean >>>>> del índice. >>>>> >>>>> >>>>> >>>>> Además es muy muy importante que los pongas ordenados según el orden >>>>> del índice. >>>>> >>>>> >>>>> >>>>> En el momento que aparecen desordenados o tienes un campo de selección >>>>> que no está en el índice el rendimiento baja espectacularmente. >>>>> >>>>> >>>>> >>>>> Quizá ya lo sepas pero no lo he visto mencionado . >>>>> >>>>> >>>>> >>>>> Un saludo >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> *Jesús Mª Arzak Capilla* >>>>> >>>>> Solutions Management >>>>> >>>>> *DHL Parcel Iberia, S.L.U.* >>>>> >>>>> Paseo Mikeletegi, nº 65 >>>>> Parque Tecnológico de San Sebastián >>>>> E-20009 San Sebastián >>>>> >>>>> Phone: +34 943 37 81 37 >>>>> >>>>> >>>>> * [email protected] <%[email protected]>* >>>>> >>>>> www.dhlparcel.es >>>>> >>>>> *GO**GREEN – Environmental protection with DHL* >>>>> *Por favor, ten en cuenta el medio ambiente antes de imprimir este >>>>> correo* >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> *From:* Forum.help400 [mailto: >>>>> [email protected]] *On Behalf Of *Juan >>>>> Carlos Paredes >>>>> *Sent:* jueves, 2 de abril de 2020 21:55 >>>>> *To:* forum.help400 <[email protected]> >>>>> *Subject:* Re: Cómo optimizar la consulta a una vista SQL >>>>> >>>>> >>>>> >>>>> Por eso te digo que evites las subselect. Trata de filtrar en la >>>>> select final. >>>>> >>>>> Mira a ver qué te dice el Visual Explain. >>>>> >>>>> Otra opción es que arranques un monitor de rendimiento sobre el >>>>> trabajo y revises las anotaciones. Una de las tareas más pesadas el la >>>>> apertura y cierre de ODPs. >>>>> >>>>> Revisa qué está haciendo el motor de DB2 con eso. >>>>> >>>>> Obtener BlueMail para Android <http://www.bluemail.me/r?b=15824> >>>>> >>>>> En 2 abr. 2020, en 21:47, datil400 <[email protected]> escribió: >>>>> >>>>> Los índices ya están creados, incluso aquellos que aconseja el asesor. >>>>> >>>>> >>>>> >>>>> Desde mi punto de vista, son tantos los registros que hay que resumir >>>>> en cada subselect (todos?), que es lo que provoca la falta de rendimiento. >>>>> >>>>> >>>>> >>>>> Gracias Juan Carlos >>>>> >>>>> >>>>> >>>>> El jue., 2 abr. 2020 21:21, Juan Carlos Paredes < >>>>> [email protected]> escribió: >>>>> >>>>> >>>>> >>>>> Si el valor inicial y final son el mismo en ambas tablas, yo crearía >>>>> un índice por ese campo en ambas tablas y otro por la clave de la join. >>>>> >>>>> Y luego >>>>> >>>>> Select * from tabla1 join tabla2 on clave1 = clave2 where valor >>>>> between valor_inicial and valor_final. >>>>> >>>>> Espero que ayude. >>>>> >>>>> Salud y paciencia >>>>> >>>>> #yomequedoencasa >>>>> >>>>> Juan Carlos. >>>>> >>>>> En 2 abr. 2020, en 20:57, datil400 <[email protected]> escribió: >>>>> >>>>> El tema de los índices está más que revisado, no mejoran el >>>>> rendimiento. >>>>> >>>>> >>>>> >>>>> Los subselects siempre revisan todos los registros. ¿Cómo lo sé? Una >>>>> consulta de un tramo pequeño está tardando entrr 30 y 45 minutos. Si >>>>> incorporo en los subselects el mismo filtro, tarda segundos. >>>>> >>>>> >>>>> >>>>> Me toca aprender cómo se puede transformar un procedimiento almacenado >>>>> en una vista. Si fuera posible, ¡claro! >>>>> >>>>> >>>>> >>>>> Gracias por tu aportación. >>>>> >>>>> >>>>> >>>>> El jue., 2 abr. 2020 18:31, Nicolas Silva <[email protected]> >>>>> escribió: >>>>> >>>>> Hola Javier: >>>>> >>>>> >>>>> >>>>> Yo me inclinaria para un Stored Procedure debido a que en tu seleccion >>>>> tienes parametros, en este caso fechas, y no puedes dejarlos predispuestos >>>>> en la vista. >>>>> >>>>> Tambien, intentaria agregar un indice tipo EVI sobre las tablas para >>>>> mejor seleccion de las fechas. >>>>> >>>>> >>>>> >>>>> Si el asesor de indices no te lo indica, puedes ejecutar el visual >>>>> explain para ver mejor los indices a crear. >>>>> >>>>> >>>>> >>>>> Espero puedas resolverlo. >>>>> >>>>> >>>>> >>>>> Saludos !!!! >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> El jue., 2 abr. 2020 a las 11:08, datil400 (<[email protected]>) >>>>> escribió: >>>>> >>>>> Hola a tod@s, >>>>> >>>>> >>>>> >>>>> no he sabido expresar de mejor manera la consulta que quiero haceros. >>>>> >>>>> >>>>> >>>>> Espero que todos vosotros, vuestros familiares y conocidos estéis bien >>>>> y viviendo el confinamiento de la mejor manera posible. >>>>> >>>>> >>>>> >>>>> Tengo una vista que resume información de varios archivos que >>>>> contienen millones de registros, no hable de uno o dos millones, hablo de >>>>> 200 millones. Por muchos índices y consejos del asesor de índices no >>>>> consigo que se ejecute en un tiempo razonable. >>>>> >>>>> >>>>> >>>>> Antes de crear un archivo de acumulados o una tabla materializada que >>>>> me mantenga siempre calculados los datos quiero probar otras alternativas >>>>> (si las hay). >>>>> >>>>> >>>>> >>>>> En esos 200 millones de registros sólo quiero tratar un grupo >>>>> reducido, por ejemplo el último mes o el último año. Aunque en el select >>>>> sobre la vista siempre selecciono el rango que quiero, realmente lo estoy >>>>> haciendo sobre el resultado de los cálculos que hace la vista, que siempre >>>>> los hace sobre el total de los registros de las tablas. >>>>> >>>>> >>>>> >>>>> Además, son cálculos que se hacer por partes dentro de la cláusula >>>>> WITH. >>>>> >>>>> >>>>> >>>>> Lo que intento es que la vista sólo seleccione el grupo de registros >>>>> de cada una de las tablas. Un pequeño ejemplo: >>>>> >>>>> >>>>> >>>>> WITH >>>>> >>>>> RESUMEN_TABLA1 >>>>> >>>>> AS ( >>>>> >>>>> SELECT * FROM TABLA1 WHERE campo BETWEEN <valor_inicial> AND >>>>> <valor_final> >>>>> >>>>> ), >>>>> >>>>> RESUMEN_TABLA2 >>>>> >>>>> AS ( >>>>> >>>>> SELECT * FROM TABLA2 WHERE campo BETWEEN <valor_inicial> AND >>>>> <valor_final> >>>>> >>>>> ) >>>>> >>>>> SELECT >>>>> >>>>> * >>>>> >>>>> FROM >>>>> >>>>> TABLA >>>>> >>>>> LEFT JOIN >>>>> >>>>> RESUMEN_TABLA1 ON clave1 = clave >>>>> >>>>> LEFT JOIN >>>>> >>>>> RESUMEN_TABLA2 ON clave2 = clave >>>>> >>>>> ; >>>>> >>>>> >>>>> >>>>> En la consulta de la vista >>>>> >>>>> >>>>> >>>>> SELECT >>>>> >>>>> * >>>>> >>>>> FROM >>>>> >>>>> VISTA >>>>> >>>>> WHERE >>>>> >>>>> <valor_inicial> = '2020-01-01' AND <valor_final> = '2020-03-31' >>>>> >>>>> >>>>> >>>>> Realmente esto no se puede hacer en SQL pero simularlo. Se me ocurren >>>>> algunas soluciones: >>>>> >>>>> >>>>> >>>>> 1. Variables globales >>>>> >>>>> >>>>> >>>>> Cargar los valores de selección en variables globales que utilice la >>>>> vista internamente. Inconveniente, dos trabajos o usuarios distintos no >>>>> podrían hacer una consulta concurrente. >>>>> >>>>> >>>>> >>>>> 2. Procedimiento almacenado o UDTF >>>>> >>>>> >>>>> >>>>> Utilizar el paso de parámetros para seleccionar las filas de los >>>>> subselects, pero no sé cómo incoporarlas en una vista para que el usuario >>>>> pueda utilizar un Query, ODBC, etc. sin tener que utilizar el >>>>> procedimiento >>>>> o UDTF. >>>>> >>>>> >>>>> >>>>> No sé si he sido capaz de explicarme (creo que no), pero ¿alguno >>>>> vosotros me puede dar alguna pista de cómo podria hacer lo que propongo? >>>>> >>>>> >>>>> >>>>> O simplemente estoy alucinando y es imposible hacerlo. >>>>> >>>>> >>>>> >>>>> Saludos a todos y gracias por vuestros comentarios. >>>>> >>>>> >>>>> >>>>> Javier >>>>> >>>>> ____________________________________________________ >>>>> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) >>>>> Forum.Help400 © Publicaciones Help400, S.L. >>>>> >>>>> ____________________________________________________ >>>>> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) >>>>> Forum.Help400 © Publicaciones Help400, S.L. >>>>> >>>>> ------------------------------ >>>>> >>>>> >>>>> �nete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) >>>>> Forum.Help400 � Publicaciones Help400, S.L. >>>>> >>>>> ____________________________________________________ >>>>> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) >>>>> Forum.Help400 © Publicaciones Help400, S.L. >>>>> >>>>> ------------------------------ >>>>> >>>>> >>>>> �nete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) >>>>> Forum.Help400 � Publicaciones Help400, S.L. >>>>> >>>>> CONFIDENTIALITY NOTICE: This message is from DHL and may contain >>>>> confidential business information. It is intended solely for the use of >>>>> the >>>>> individual to whom it is addressed. If you are not the intended recipient >>>>> please contact the sender and delete this message and any attachment from >>>>> your system. Unauthorized publication, use, dissemination, forwarding, >>>>> printing or copying of this E-Mail and its attachments is strictly >>>>> prohibited. >>>>> ____________________________________________________ >>>>> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) >>>>> Forum.Help400 © Publicaciones Help400, S.L. >>>> >>>> ____________________________________________________ >>>> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) >>>> Forum.Help400 © Publicaciones Help400, S.L. >>> >>> ____________________________________________________ >>> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) >>> Forum.Help400 © Publicaciones Help400, S.L. >> >> ____________________________________________________ >> Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) >> Forum.Help400 © Publicaciones Help400, S.L. > > ____________________________________________________ > Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) > Forum.Help400 © Publicaciones Help400, S.L.
____________________________________________________ �nete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd ) Forum.Help400 � Publicaciones Help400, S.L.
