Skip to content
Snippets Groups Projects
Commit 848e67bf authored by LEMERCIER Denis's avatar LEMERCIER Denis
Browse files

Merge branch 'fix_1' into 'develop'

issue 1 - Aucun index lors de la récupération des sous-éléments - problème de performance

See merge request !5
parents 7ead491d e3e226aa
No related branches found
No related tags found
1 merge request!5issue 1 - Aucun index lors de la récupération des sous-éléments - problème de performance
Pipeline #190422 passed with warnings
......@@ -97,47 +97,47 @@ public class EquipementPhysiqueIntegrationConfig {
ORDER BY nom_lot ASC, date_lot ASC, nom_organisation ASC
LIMIT 1000
"""
);
);
adapter.setUpdateSql("UPDATE en_equipement_physique SET statut_traitement = 'INGERE', date_update = now() WHERE id in (:id)");
adapter.setRowMapper((rs, index) ->
EquipementPhysiqueDTO.builder()
.id(rs.getLong("id"))
.nomLot(rs.getString("nom_lot"))
.dateLot(ResultSetUtils.getLocalDate(rs,"date_lot"))
.nomOrganisation(rs.getString("nom_organisation"))
.nomEntite(rs.getString("nom_entite"))
.nomEquipementPhysique(rs.getString("nom_equipement_physique"))
.consoElecAnnuelle(ResultSetUtils.getDouble(rs, "conso_elec_annuelle"))
.dateAchat(ResultSetUtils.getLocalDate(rs,"date_achat"))
.dateRetrait(ResultSetUtils.getLocalDate(rs,"date_retrait"))
.goTelecharge(ResultSetUtils.getFloat(rs, "go_telecharge"))
.modele(rs.getString("modele"))
.nbCoeur(rs.getString("nb_coeur"))
.paysDUtilisation(rs.getString("pays_utilisation"))
.quantite(ResultSetUtils.getDouble(rs, "quantite"))
.serveur(rs.getBoolean("serveur"))
.statut(rs.getString("statut"))
.type(rs.getString("type"))
.utilisateur(rs.getString("utilisateur"))
.nomCourtDatacenter(rs.getString(COLUMN_NAME_NOM_COURT_DATACENTER))
.nbEquipementsVirtuels(ResultSetUtils.getInteger(rs, "nb_equipements_virtuels"))
.nbTotalVCPU(ResultSetUtils.getInteger(rs, "nb_total_vcpu"))
.stockageTotalVirtuel(ResultSetUtils.getDouble(rs, "stockage_total_virtuel"))
.nomCourtDatacenter(rs.getString(COLUMN_NAME_NOM_COURT_DATACENTER))
.nomSourceDonnee(rs.getString("nom_source_donnee"))
.dataCenter(
DataCenterDTO.builder()
.id(rs.getLong("dc_id"))
.localisation(rs.getString("dc_localisation"))
.nomLongDatacenter(rs.getString("dc_nom_long_datacenter"))
.pue(ResultSetUtils.getDouble(rs, "dc_pue"))
.nomCourtDatacenter(rs.getString(COLUMN_NAME_NOM_COURT_DATACENTER))
.nomEntite(rs.getString("dc_nom_entite"))
.nomOrganisation(rs.getString("nom_organisation"))
.dateLot(ResultSetUtils.getLocalDate(rs, "date_lot"))
.build()
)
.build()
EquipementPhysiqueDTO.builder()
.id(rs.getLong("id"))
.nomLot(rs.getString("nom_lot"))
.dateLot(ResultSetUtils.getLocalDate(rs,"date_lot"))
.nomOrganisation(rs.getString("nom_organisation"))
.nomEntite(rs.getString("nom_entite"))
.nomEquipementPhysique(rs.getString("nom_equipement_physique"))
.consoElecAnnuelle(ResultSetUtils.getDouble(rs, "conso_elec_annuelle"))
.dateAchat(ResultSetUtils.getLocalDate(rs,"date_achat"))
.dateRetrait(ResultSetUtils.getLocalDate(rs,"date_retrait"))
.goTelecharge(ResultSetUtils.getFloat(rs, "go_telecharge"))
.modele(rs.getString("modele"))
.nbCoeur(rs.getString("nb_coeur"))
.paysDUtilisation(rs.getString("pays_utilisation"))
.quantite(ResultSetUtils.getDouble(rs, "quantite"))
.serveur(rs.getBoolean("serveur"))
.statut(rs.getString("statut"))
.type(rs.getString("type"))
.utilisateur(rs.getString("utilisateur"))
.nomCourtDatacenter(rs.getString(COLUMN_NAME_NOM_COURT_DATACENTER))
.nbEquipementsVirtuels(ResultSetUtils.getInteger(rs, "nb_equipements_virtuels"))
.nbTotalVCPU(ResultSetUtils.getInteger(rs, "nb_total_vcpu"))
.stockageTotalVirtuel(ResultSetUtils.getDouble(rs, "stockage_total_virtuel"))
.nomCourtDatacenter(rs.getString(COLUMN_NAME_NOM_COURT_DATACENTER))
.nomSourceDonnee(rs.getString("nom_source_donnee"))
.dataCenter(
DataCenterDTO.builder()
.id(rs.getLong("dc_id"))
.localisation(rs.getString("dc_localisation"))
.nomLongDatacenter(rs.getString("dc_nom_long_datacenter"))
.pue(ResultSetUtils.getDouble(rs, "dc_pue"))
.nomCourtDatacenter(rs.getString(COLUMN_NAME_NOM_COURT_DATACENTER))
.nomEntite(rs.getString("dc_nom_entite"))
.nomOrganisation(rs.getString("nom_organisation"))
.dateLot(ResultSetUtils.getLocalDate(rs, "date_lot"))
.build()
)
.build()
);
return adapter;
}
......@@ -157,4 +157,4 @@ public class EquipementPhysiqueIntegrationConfig {
})
.toList();
}
}
}
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- Spring default.xml -->
<!-- Spring default.xml -->
<conversionRule conversionWord="clr" converterClass="org.springframework.boot.logging.logback.ColorConverter" />
<conversionRule conversionWord="wex" converterClass="org.springframework.boot.logging.logback.WhitespaceThrowableProxyConverter" />
<conversionRule conversionWord="wEx" converterClass="org.springframework.boot.logging.logback.ExtendedWhitespaceThrowableProxyConverter" />
......@@ -10,7 +10,7 @@
<property name="FILE_LOG_PATTERN" value="${FILE_LOG_PATTERN:-%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}} ${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-42.42logger{0} : %X{nomLot} - %X{dateLot} - %X{nomOrganisation} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}}"/>
<property name="FILE_LOG_CHARSET" value="${FILE_LOG_CHARSET:-${file.encoding:-UTF-8}}"/>
<!-- console-appender.xml-->
<!-- console-appender.xml-->
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>${CONSOLE_LOG_PATTERN}</pattern>
......
......@@ -202,5 +202,17 @@ CREATE OR REPLACE FUNCTION rename_comlumn_if_not_needed (t_name text, old_name t
SELECT rename_comlumn_if_not_needed('en_equipement_virtuel', 'nom_vm', 'nom_equipement_virtuel');
SELECT rename_comlumn_if_not_needed('en_application', 'nom_vm', 'nom_equipement_virtuel');
-- Creation indexes
-- Accelere la recuperation des donnees depuis EquipementPhysiqueIntegrationConfig.java
CREATE INDEX IF NOT EXISTS idx_en_equipement_physique_statut_traitement ON en_equipement_physique (statut_traitement);
-- Accelere le count du volume des calculs - api-expositiondonneesentrees
CREATE INDEX IF NOT EXISTS idx_en_equipement_physique_nom_lot ON en_equipement_physique (nom_lot);
-- Indexes pour api-event-calculs
-- Accelere la recuperation des equipements virtuels d'un equipement physique
CREATE INDEX IF NOT EXISTS idx_en_equipement_virtuel_nom_equipement_physique ON en_equipement_virtuel (nom_equipement_physique);
-- Accelere la recuperation des applications d'un equipement virtuel
CREATE INDEX IF NOT EXISTS idx_en_application_nom_equipement_physique_et_virtuel ON en_application (nom_equipement_physique, nom_equipement_virtuel);
-- Suppression des fonctions de mise à jour du schéma
DROP FUNCTION IF EXISTS rename_comlumn_if_not_needed;
\ No newline at end of file
DROP FUNCTION IF EXISTS rename_comlumn_if_not_needed;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment