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.

Reply via email to