sql >> Database teknologi >  >> RDS >> Mysql

MySQL - Forbedre UPDATE-forespørgselsydeevne til komplekse beregninger

foreslået løsning til opdatering af alt udstyr

meget grupper efter EQUIPMENT_ID ) dm på dm.EQUIPMENT_ID =e.EQUIPMENT_ID venstre join (VÆLG EQUIPMENT_ID ,max(case b.INTERNAL_EXTERNAL når 'INTERNAL' derefter a.LAST_INSPECTION_DATE slut) MIN_LAST_INSPECTION_DATE/INSPECTION_DATE_INSPECTION_INSPECTION/INSPECTION_INSPECTION_INSP. b.INTERNAL_EXTERNAL når 'EXTERNAL' derefter a.LAST_INSP ECTION_DATE slut) MIN_LAST_INSPECTION_DATE_EXTERNAL /*29. SENESTE INSPEKTIONSDATO EKSTERN*/ ,min(END_OF_LIFE) som min_END_OF_LIFE /*31. LIVSSLUT*/ ,GROUP_CONCAT(DISTINCT REMEDIATION_STATUS) som GROUP_CONCAT_DISTINCT_REMEDIATION_STATUS /*XX. AFHJÆLPNINGSSTATUS*/ ,max(APPLIED_CORROSION_RATE) som max_APPLIED_CORROSION_RATE ,min(REMAINING_LIFE_BASED_ON_ACR) som min_REMAINING_LIFE_BASED_ON_ACR FRA CML a JOIN CML_TYPES_EQU.(I CML_TYPES_BASED)-gruppe.' .EQUIPMENT_ID =e.EQUIPMENT_ID SET e.MAX_COF =mindst(COF_SAFETY, COF_HEALTH, COF_ENVIRONMENT, COF_ASSETS) /*24. MAX COF*/ ,e.RECOMMENDED_RBI_INTERNAL_INTERVAL =dm.MIN_RECOMMENDED_RBI_INTERNAL_INSPECTION_INTERVAL /*25. ANBEFALET RBI INTERNT INTERVAL*/ ,e.LAST_INSPECTION_DATE_INTERNAL =ct.MIN_LAST_INSPECTION_DATE_INTERNAL /*26. SENESTE INSPEKTIONSDATO INTERN*/ ,e.NEXT_INSPECTION_DATE_INTERNAL =DATE_ADD(e.LAST_INSPECTION_DATE_INTERNAL,INTERVAL ETAGE(ANBEFALT_RBI_INTERNAL_INTERVAL*365) DAG) /*27. NÆSTE INSPEKTIONSDATO INTERN*/ ,e.RECOMMENDED_RBI_EXTERNAL_INTERVAL =dm.MIN_RECOMMENDED_RBI_EXTERNAL_INSPECTION_INTERVAL /*28. ANBEFALET RBI EKSTERN INTERVAL*/ ,e.LAST_INSPECTION_DATE_EXTERNAL =ct.MIN_LAST_INSPECTION_DATE_EXTERNAL /*29. SENESTE INSPEKTIONSDATO EKSTERN*/ ,e.NEXT_INSPECTION_DATE_EXTERNAL =DATE_ADD(e.SIDSTE_INSPECTION_DATE_EXTERNAL,INTERVAL ETAGE(ANBEFALT_RBI_EXTERNAL_INTERVAL*365) DAG) /*30. NÆSTE INSPEKTIONSDATO EKSTERN*/ ,e.END_OF_LIFE =ct.min_END_OF_LIFE /*31. LIVSLØSNING*/ ,e.REMEDIATION_STATUS =coalesce(ct.GROUP_CONCAT_DISTINCT_REMEDIATION_STATUS,'F') /*XX. AFBRYDNINGSSTATUS*/ ,e.MAX_ACR =ct.max_APPLIED_CORROSION_RATE /*XX. MAX ACR*/ ,e.MIN_REMAINING_LIFE =ct.min_REMAINING_LIFE_BASED_ON_ACR /*XX. MIN RESTERENDE LIV*/;

  1. Ikke-primære fremmednøgler i Django

  2. Nedetid for AWS RDS-instansopgradering

  3. Gentagende værdier i en kolonne

  4. Sådan indsætter du resultaterne af en lagret procedure i en midlertidig tabel i SQL Server