Plusieurs requêtes sql qui se lancent lors d'une seule sélection (search)!

4.0
Plusieurs requêtes sql qui se lancent lors d'une seule sélection (search)!
0
Tags: #<Tag:0x00007fcf161ba7f0>

#1

Bonjour,

J’ai un objet A (ImmoLeaseTenant) qui est lié à B et à C.

A chaque fois que je sélectionne une ligne de A depuis la loupe qui est dans B ou C, j’ai un pb de performance. Le système me rend la main au bout de qq minutes.

En affichant les requêtes dans la console, je vois qu’à chaque fois il y a des dizaines de requêtes sql identiques qui se lancent !!!

Voici la requête en question :

2019-01-09 00:38:37,683 INFO [ImmoLeaseTenant] SIMPLICITE|http://e3m.simplicite.io:10028||REPOSITORY|designer|ImmoLeaseTenant|search||Message=found 20 row(s) SQL=select t.row_id, t.leasetenant_immolease_id, …from immo_lease_tenant t inner join immo_lease t_leaseTenantImmoLeaseId on (t.leasetenant_immolease_id=t_leaseTenantImmoLeaseId.row_id) left outer join immo_property t_leaseImmoPropertyid on (t_leaseTenantImmoLeaseId.lease_immoproperty_id=t_leaseImmoPropertyid.row_id) left outer join immo_address t_proImmoAddressid on (t_leaseImmoPropertyid.pro_immoaddress_id=t_proImmoAddressid.row_id) inner join immo_tenant t_leaseTenantImmoTenantId on (t.leasetenant_immotenant_id=t_leaseTenantImmoTenantId.row_id) left outer join immo_legal_entity t_tenantImmoLegEntityid on (t_leaseTenantImmoTenantId.tenant_immolegentity_id=t_tenantImmoLegEntityid.row_id) left outer join immo_natural_person t_tenantImmoNatPersid on (t_leaseTenantImmoTenantId.tenant_immonatpers_id=t_tenantImmoNatPersid.row_id) where (1=1) order by t.row_id asc Variables=

Pourriez-vous me dire svp d’où cela peut venir dans mon paramétrage ?

Merci d’avance.

Abed.


(David AZOULAY) #2

Quid des indexes en base ?


#3

Voici les seuls indexes de l’objet en question :


(David AZOULAY) #4

Sont-ils pertinents ?

Dans le cas contraire il reste toujours possible de forcer une reconstruction des indexes => Administration > business objects > rechercher les objets à réindexer > proposition d’indexes

Simplicité fait des jointures sur les row IDs donc normalement le couple primary key sur le row_id plus les indexes sur les foreign keys garantissent les performances des requêtes SQL construites par Simplicité.

Vos pb de perfs ne seraient ils pas plutôt lié à ce que fait votre code specifique ?


(François Genestin) #5

Les requêtes “search” viennent du navigateur qui les synchronise (5 ajax en // max).
Cela n’a rien à voir avec la base.

Apparemment cela vient d’un événement “change” sur un champ du formulaire qui par en boucle lorsqu’on sélectionne cette référence. On va investiguer.


(François Genestin) #6

C’est corrigé, pb de selector jQuery qui positionnait des “change” en trop.
Votre instance immodevabed a été mise à jour pour vérifier, les autres attendront ce soir.


#7

Je confirme que le bug est corrigé. Il n’y a plus de pb de performance.
Merci @francois