GovernIB / portafib

PortaFIB: Portafirmes Digital de les Illes Balears
7 stars 2 forks source link

Rendiment de la consulta de peticions pendents #535

Closed antonireus closed 3 years ago

antonireus commented 3 years ago

Fa la impressió que la consulta de peticions pendents de firma d'un destintari (/portafib/dest/estatDeFirmaPendent/list/1) s'ha ralentiçat a la darrera versió. Segurament vengui de la implementació de #510

antonireus commented 3 years ago

El problema venia en general per els filtratges per estat de firma inicial i estat de firma final. Substituint l'index damunt estatdefirmainicial per un index compost que inclou en segon lloc estatdefirmafinal (ha d'anar en segon lloc, perquè pot ser null), el rendiment de les consultes en general augmenta considerablement

drop index pfi_estatfirma_estatinid_fk_i; create index pfi_estatfirma_estats_i on pfi_estatdefirma (tipusestatdefirmainicialid, tipusestatdefirmafinalid);

antonireus commented 3 years ago

Amb l'índex aplicat millora el rendiment, i s'equipara al previ a #510 , però hi segueix havent un problema en la càrrega de peticions de firma si el destintari en té moltes. Supòs que el problema seria que l'índex que es tria en primer lloc seria el de tipusdefirmainicial/final, quan el més selectiu seria per usuari. Cal mirar-ho

antonireus commented 3 years ago

Si realment el destintari té moltes peticions pendents hi ha poc a fer, perquè l'accés per index es dificilment optimitzable atès que dels cuatre filtres (usuari, estat inicial, estat final, coladele) dos poden ser null (estat final i coladele)

El següent canvi d'index però millora bastant les coses, i s'han ajustat també qualcunes consultes per millorar el rendiment atès que tenien condicions innecessàries

drop index pfi_estatfirma_usrentid_fk_i; create index pfi_estatfirma_usrestats_i ON pfi_estatdefirma (usuarientitatid, tipusestatdefirmainicialid, tipusestatdefirmafinalid);