Detaillierte Erläuterung der Verwendung von MySQL-Profilen zur Analyse von langsamem SQL (Group Left Join ist effizienter als Unterabfrage)

Detaillierte Erläuterung der Verwendung von MySQL-Profilen zur Analyse von langsamem SQL (Group Left Join ist effizienter als Unterabfrage)

Verwenden Sie ein Profil, um langsames SQL zu analysieren

Der Hauptzweck des SQL-Leistungsanalysators von MySQL besteht darin, die Nutzung verschiedener Ressourcen während des gesamten SQL-Ausführungsprozesses anzuzeigen. Der Profiler kann besser zeigen, wo Leistungsprobleme mit schlechtem SQL liegen. Kürzlich stieß ich auf eine langsame SQL-Anweisung, die eine Unterabfrage verwendete und etwa 0,8 Sekunden dauerte. Dies dauerte lange und beeinträchtigte die Leistung erheblich, sodass eine Optimierung erforderlich war. Es ist sehr schnell, eine einzelne Tabelle abzufragen oder Datensätze separat abzufragen. Schauen wir uns die ausführliche Einführung unten an.

Profil öffnen

mysql> Profile anzeigen; -- Prüfen, ob das leere Set aktiviert ist, 1 Warnung (0,00 Sek.)

mysql> set profiling=1; -- Profilerstellung aktivieren
Abfrage OK, 0 Zeilen betroffen, 1 Warnung (0,00 Sek.)

mysql> Profile anzeigen;
Leerer Satz, 1 Warnung (0,00 Sek.)

MySQL>

Ausführen von Abfragen zur Vereinfachung von Profilverfolgungsdatensätzen

mysql> SELECT SQL_NO_CACHE
 -> t1.Betrag,
 -> t1.Anzahl,
 -> t1.Datum,
 -> (SELECT (CONCAT(t2.APPROVE_ID,'|' ,t2.PATH)) AS RECEIPT FROM TB_BIS_MERCHANT_SETTLEMENT t2 WHERE t2.`MERCHANT_ID` = t1.`MERCHANT_ID` AND t2.`DATE`=t1.DATE AND t2.APPROVE_STATUS=5) AS Quittungen
 -> VON
 -> TB_BIS_MERCHANT_TURNOVER t1
 -> WO t1.MERCHANT_ID='64884DE062BC11E682B00017FA000202'
 -> ORDER BY t1.date DESC
 -> 
 -> GRENZE 0,100;
+-----------+------+----------+------------------------------------------------------------------------------------------+
| Betrag | Anzahl | Datum | Quittungen |
+-----------+------+----------+------------------------------------------------------------------------------------------+
| 15800,00 | 1 | 20170105 | 0DDFD555F93B45BEB0905B1E6DE89D29|upload/2022/web/CvkBIlhu-yqABqmAABYR7dHOmno819.jpg |
| 1245,00 | 1 | 20170104 | 0DDFD555F93B45BEB0905B1E6DE89D29|upload/2022/web/CvkBIVhtpSeAI_YHAADNjq7TPq8244.jpg |
| 14766,00 | 4 | 20170103 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIlhrrf6AQ5uIAAEobJv68FU398.jpg |
| 32449,00 | 2 | 20170102 | 0DDFD555F93B45BEB0905B1E6DE89D29|upload/2022/web/CvkBIVhrDguAfaMIABjKB9uvu04477.jpg |
| 37246,00 | 5 | 20170101 | 0DDFD555F93B45BEB0905B1E6DE89D29|upload/2022/web/CvkBIVhpCnGASEyLAAEu6l9SI0o812.jpg |
| 105094,00 | 2 | 20161231 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIVhnwp-ALIvWAAEAaGPayjg732.jpg |
| 88032,00 | 3 | 20161230 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIVhmaqSAHcEZAAFAyS8Zx8Q067.jpg |
| 3845,00 | 1 | 20161229 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIlhl206AaS-FAAFMhvX8PYY578.jpg |
| 2118,00 | 4 | 20161228 | 2154FDCDA51A4257811F1EA886AACD14|upload/2022/web/CvkBIlhjxhyAMOfhAAD8wUzTUUY855.jpg |
| 2980,00 | 1 | 27.12.2016 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIlhicfCAFmwgAAE9ULPqEJ4030.jpg |
| 1080,00 | 1 | 26.12.2016 | 667E240C44B4469892C261CE9243A8C3|upload/2022/web/CvkBIVhhy6iAMm8tAAFHOT5zBiM875.jpg |
| 2980,00 | 1 | 20161225 | 0DDFD555F93B45BEB0905B1E6DE89D29|upload/2022/web/CvkBIVhfzCWAdw2LAAFpDXmwio4327.jpg |
| 10201,00 | 1 | 20161224 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIlhfJfKAIoBiAADqgbF1pBo054.jpg |
| 3003,00 | 4 | 20161223 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIVhdMHeAQi8cAAGAOQTgxLo422.jpg |
| 2698,00 | 1 | 20161222 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIVhb2U2AXWRuAAEc4LIr2nc172.jpg |
| 990,00 | 1 | 20161221 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIVhbM6aAGMQAAAEQ9ptn0FU333.jpg |
| 1427,00 | 1 | 20161220 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIlhZNJqAAsvWAAGuJ6g1pyU541.jpg |
| 2465,00 | 1 | 20161219 | 2154FDCDA51A4257811F1EA886AACD14|upload/2022/web/CvkBIlhX4_mAfn-SAAEptH1Fyp8152.jpg |
| 2360,00 | 1 | 20161218 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIlhWl_-AclhbAAGLv79hoh8428.jpg |
| 3998,00 | 1 | 20161217 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIVhVSLGAFct_AAFQRetyWnc285.jpg |
| 0,00 | 0 | 20161216 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIlhU8g-AXywcAAGn1gdsQQc959.jpg |
| 0,00 | 0 | 20161215 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIlhSmryAZXITAG-zN3WQv4c789.jpg |
| 9900,00 | 1 | 20161214 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIVhRTrOALwG6AAE_csC3lvk695.jpg |
| 4320,00 | 1 | 20161213 | 2154FDCDA51A4257811F1EA886AACD14|upload/2022/web/CvkBIlhQrzCAfApEAAFKbHqkH3w634.jpg |
| 8760,00 | 2 | 20161212 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIlhOqjeAO1BdAAGHdajOU2E697.jpg |
| 213335,00 | 4 | 20161211 | 2154FDCDA51A4257811F1EA886AACD14|upload/2022/web/CvkBIVhNYQSAfxXgAAHZL9a8Nrs596.jpg |
| 47104,00 | 5 | 20161210 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIVhMsPSAAnrAAAETxX9fCuw946.jpg |
| 6100,00 | 1 | 20161209 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIlhLfXOAClJVAAFmuoqBI5o264.jpg |
| 13515,00 | 2 | 20161208 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIlhJZ06AbuaNAAGg7Bz3OsA569.jpg |
| 26769,00 | 4 | 20161207 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIlhIGgeAdNxuAAETxX9fCuw408.jpg |
| 0,00 | 0 | 20161206 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIlhGxAuAfQr8AAFatVZ2sFk337.jpg |
| 0,00 | 0 | 20161205 | 2154FDCDA51A4257811F1EA886AACD14|upload/2022/web/CvkBIlhGKy-AU9guAAGm4jFhmoU601.jpg |
| 20000,00 | 3 | 20161204 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIVhEIDGAMPuIAAH6chL6Wo8684.jpg |
| 20275,00 | 4 | 20161203 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIVhCyrSAE-uGAAGf0CWFbZM991.jpg |
| 3988,00 | 1 | 20161202 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIlhCI7mAUN_9AAIsSLMhcns351.jpg |
| 4460,00 | 1 | 20161201 | 2154FDCDA51A4257811F1EA886AACD14|upload/2022/web/CvkBIlhAKwmACroNAAGpJUqVqIA247.jpg |
| 10498,00 | 2 | 20161130 | 2154FDCDA51A4257811F1EA886AACD14|upload/2022/web/CvkBIlg-3euAbsd5AAGr-r7GCH0254.jpg |
| 11080,00 | 2 | 20161129 | 2154FDCDA51A4257811F1EA886AACD14|upload/2022/web/CvkBIVg9i6WAD4Z0AAHLB1yISaQ864.jpg |
| 6100,00 | 1 | 20161128 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIVg8OHGABTZOAAG1ZWoLoXY932.jpg |
| 5580,00 | 1 | 20161127 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIVg65aKAcRWWAAFnaqaodKs660.jpg |
| 32630,00 | 2 | 20161126 | 2154FDCDA51A4257811F1EA886AACD14|upload/2022/web/CvkBIVg5kveALns0AAHLB1yISaQ850.jpg |
| 9800,00 | 1 | 20161125 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIVg4Qg2AMqoNAAH--He3hsg726.jpg |
| 32500,00 | 2 | 20161124 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIVg27_OAAV5OAAE8vRiZWHs684.jpg |
| 2700,00 | 1 | 20161123 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIlg2T4OAL3t5AAFsAWaUI98731.jpg |
| 4580,00 | 1 | 20161122 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIVg0-UeAFDr_AAIBY_LNIxs656.jpg |
| 14120,00 | 1 | 20161121 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIlgy_EeAaPdBAAHeyO5nxeo952.jpg |
| 41510,00 | 2 | 20161120 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIVgyYRKAZKi3AAGEp_IGjVM389.jpg |
| 7800,00 | 2 | 20161118 | C91D5E7905BA44C8A14045C9C228157F|upload/2022/web/CvkBIlgw_viAFHiPAAH0MZwoiCE530.jpg |
+-----------+------+----------+------------------------------------------------------------------------------------------+
48 Reihen im Satz (0,75 Sek.)

MySQL>

Zeigen Sie den aktuellen Profildatensatz an, hauptsächlich um den Query_ID-Wert zu erhalten

mysql> Profile anzeigen;
+----------+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| Abfrage-ID | Dauer | Abfrage |
+----------+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 1 | 0,00009250 | Warnung anzeigen |
| 2 | 0,00013125 | Warnungen anzeigen |
| 3 | 0,00014375 | Profilierung auf 1 setzen |
| 4 | 0,75458525 | AUSWÄHLEN SQL_NO_CACHE
    t1.Betrag,
    t1.Anzahl,
    t1.Datum ,
     (SELECT (CONCAT(t2.APPROVE_ID,'|' ,t2.PATH)) AS RECEIPT FROM TB_BIS_MERCHANT_SETTLEMENT t2 WHERE t2.`MERCHANT_ID` = t1.`MERCHANT_ID` AND t2.`DATE`=t1.DATE AND t2.APPROVE_STATUS=5) AS r |
+----------+------------+-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
4 Zeilen im Satz, 1 Warnung (0,00 Sek.)

MySQL>

Sehen Sie sich den Trace-Datensatz der gerade ausgeführten Abfrage_ID 4 an.

mysql> Profil für Abfrage 4 anzeigen;
+--------------------+----------+
| Status | Dauer |
+--------------------+----------+
| wird ausgeführt | 0,000017 |
| Daten werden gesendet | 0,018048 |
| wird ausgeführt | 0,000028 |
| Daten werden gesendet | 0,018125 |
| wird ausgeführt | 0,000022 |
| Daten werden gesendet | 0,015749 |
| wird ausgeführt | 0,000017 |
| Daten werden gesendet | 0,015633 |
| wird ausgeführt | 0,000017 |
| Daten werden gesendet | 0,015382 |
| wird ausgeführt | 0,000015 |
| Daten werden gesendet | 0,015707 |
| wird ausgeführt | 0,000023 |
| Daten werden gesendet | 0,015890 |
| wird ausgeführt | 0,000022 |
| Daten werden gesendet | 0,015908 |
| wird ausgeführt | 0,000017 |
| Daten werden gesendet | 0,015761 |
| wird ausgeführt | 0,000022 |
| Daten werden gesendet | 0,015542 |
| wird ausgeführt | 0,000014 |
| Daten werden gesendet | 0,015561 |
| wird ausgeführt | 0,000016 |
| Daten werden gesendet | 0,015546 |
| wird ausgeführt | 0,000037 |
| Daten werden gesendet | 0,015555 |
| wird ausgeführt | 0,000015 |
| Daten werden gesendet | 0,015779 |
| wird ausgeführt | 0,000026 |
| Daten werden gesendet | 0,015815 |
| wird ausgeführt | 0,000015 |
| Daten werden gesendet | 0,015468 |
| wird ausgeführt | 0,000015 |
| Daten werden gesendet | 0,015457 |
| wird ausgeführt | 0,000015 |
| Daten werden gesendet | 0,015457 |
| wird ausgeführt | 0,000014 |
| Daten werden gesendet | 0,015500 |
| wird ausgeführt | 0,000014 |
| Daten werden gesendet | 0,015557 |
| wird ausgeführt | 0,000015 |
| Daten werden gesendet | 0,015537 |
| wird ausgeführt | 0,000014 |
| Daten werden gesendet | 0,015395 |
| wird ausgeführt | 0,000021 |
| Daten werden gesendet | 0,015416 |
| wird ausgeführt | 0,000014 |
| Daten werden gesendet | 0,015416 |
| wird ausgeführt | 0,000014 |
| Daten werden gesendet | 0,015399 |
| wird ausgeführt | 0,000023 |
| Daten werden gesendet | 0,015407 |
| wird ausgeführt | 0,000014 |
| Daten werden gesendet | 0,015585 |
| wird ausgeführt | 0,000014 |
| Daten werden gesendet | 0,015385 |
| wird ausgeführt | 0,000014 |
| Daten werden gesendet | 0,015412 |
| wird ausgeführt | 0,000014 |
| Daten werden gesendet | 0,015408 |
| wird ausgeführt | 0,000014 |
| Daten werden gesendet | 0,015753 |
| wird ausgeführt | 0,000014 |
| Daten werden gesendet | 0,015376 |
| wird ausgeführt | 0,000014 |
| Daten werden gesendet | 0,015416 |
| wird ausgeführt | 0,000019 |
| Daten werden gesendet | 0,015368 |
| wird ausgeführt | 0,000014 |
| Daten werden gesendet | 0,015481 |
| wird ausgeführt | 0,000015 |
| Daten werden gesendet | 0,015619 |
| wird ausgeführt | 0,000015 |
| Daten werden gesendet | 0,015662 |
| wird ausgeführt | 0,000016 |
| Daten werden gesendet | 0,015574 |
| wird ausgeführt | 0,000015 |
| Daten werden gesendet | 0,015566 |
| wird ausgeführt | 0,000015 |
| Daten werden gesendet | 0,015488 |
| wird ausgeführt | 0,000013 |
| Daten werden gesendet | 0,015493 |
| wird ausgeführt | 0,000015 |
| Daten werden gesendet | 0,015386 |
| wird ausgeführt | 0,000015 |
| Daten werden gesendet | 0,015485 |
| wird ausgeführt | 0,000018 |
| Daten werden gesendet | 0,015760 |
| wird ausgeführt | 0,000014 |
| Daten werden gesendet | 0,015386 |
| wird ausgeführt | 0,000015 |
| Daten werden gesendet | 0,015418 |
| wird ausgeführt | 0,000014 |
| Daten werden gesendet | 0,015458 |
| Ende | 0,000016 |
| Abfrageende | 0,000019 |
| Tabellen schließen | 0,000018 |
| Elemente freigeben | 0,000825 |
| langsame Abfrage protokollieren | 0,000067 |
| aufräumen | 0,000025 |
+--------------------+----------+
100 Zeilen im Set, 1 Warnung (0,00 Sek.)

MySQL>

Den Analyseergebnissen zufolge können wir erkennen, dass kontinuierlich eine große Menge an gesendeten Daten verbraucht wird, was vermutlich auf Unterabfragen zurückzuführen ist. Daher sind Unterabfragen in diesem Fall nicht geeignet und zu ineffizient. Was kann also getan werden, um dies zu vermeiden?

Umschreiben mit „Group by + Left Join“

mysql> SELECT SQL_NO_CACHE DISTINCT
 -> t1.Betrag,
 -> t1.Anzahl,
 -> t1.date, GROUP_CONCAT(CONCAT(t2.APPROVE_ID,'|' ,t2.PATH)) ALS EMPFANG 
 -> VON
 -> TB_BIS_MERCHANT_TURNOVER t1 LINKS JOIN TB_BIS_MERCHANT_SETTLEMENT t2 ON t2.`MERCHANT_ID` = t1.`MERCHANT_ID` UND t2.`DATE`=t1.DATE UND t2.APPROVE_STATUS=5
 -> WO t1.MERCHANT_ID='64884DE062BC11E682B00017FA000202'
 -> GRUPPE NACH t1.Betrag,
 -> t1.Anzahl,
 -> t1.Datum
 -> ORDER BY t1.date DESC
 -> 
 -> GRENZE 0,100;
+-----------+------+----------+------------------------------------------------------------------------------------------+
| Betrag | Anzahl | Datum | Quittung |
+-----------+------+----------+------------------------------------------------------------------------------------------+
| 15800,00 | 1 | 20170105 | 0DDFD555F93B45BEB0905B1E6DE89D29|upload/2022/web/CvkBIlhu-yqABqmAABYR7dHOmno819.jpg |
| 1245,00 | 1 | 20170104 | 0DDFD555F93B45BEB0905B1E6DE89D29|upload/2022/web/CvkBIVhtpSeAI_YHAADNjq7TPq8244.jpg |
| 14766,00 | 4 | 20170103 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIlhrrf6AQ5uIAAEobJv68FU398.jpg |
| 32449,00 | 2 | 20170102 | 0DDFD555F93B45BEB0905B1E6DE89D29|upload/2022/web/CvkBIVhrDguAfaMIABjKB9uvu04477.jpg |
| 37246,00 | 5 | 20170101 | 0DDFD555F93B45BEB0905B1E6DE89D29|upload/2022/web/CvkBIVhpCnGASEyLAAEu6l9SI0o812.jpg |
| 105094,00 | 2 | 20161231 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIVhnwp-ALIvWAAEAaGPayjg732.jpg |
| 88032,00 | 3 | 20161230 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIVhmaqSAHcEZAAFAyS8Zx8Q067.jpg |
| 3845,00 | 1 | 20161229 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIlhl206AaS-FAAFMhvX8PYY578.jpg |
| 2118,00 | 4 | 20161228 | 2154FDCDA51A4257811F1EA886AACD14|upload/2022/web/CvkBIlhjxhyAMOfhAAD8wUzTUUY855.jpg |
| 2980,00 | 1 | 27.12.2016 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIlhicfCAFmwgAAE9ULPqEJ4030.jpg |
| 1080,00 | 1 | 26.12.2016 | 667E240C44B4469892C261CE9243A8C3|upload/2022/web/CvkBIVhhy6iAMm8tAAFHOT5zBiM875.jpg |
| 2980,00 | 1 | 20161225 | 0DDFD555F93B45BEB0905B1E6DE89D29|upload/2022/web/CvkBIVhfzCWAdw2LAAFpDXmwio4327.jpg |
| 10201,00 | 1 | 20161224 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIlhfJfKAIoBiAADqgbF1pBo054.jpg |
| 3003,00 | 4 | 20161223 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIVhdMHeAQi8cAAGAOQTgxLo422.jpg |
| 2698,00 | 1 | 20161222 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIVhb2U2AXWRuAAEc4LIr2nc172.jpg |
| 990,00 | 1 | 20161221 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIVhbM6aAGMQAAAEQ9ptn0FU333.jpg |
| 1427,00 | 1 | 20161220 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIlhZNJqAAsvWAAGuJ6g1pyU541.jpg |
| 2465,00 | 1 | 20161219 | 2154FDCDA51A4257811F1EA886AACD14|upload/2022/web/CvkBIlhX4_mAfn-SAAEptH1Fyp8152.jpg |
| 2360,00 | 1 | 20161218 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIlhWl_-AclhbAAGLv79hoh8428.jpg |
| 3998,00 | 1 | 20161217 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIVhVSLGAFct_AAFQRetyWnc285.jpg |
| 0,00 | 0 | 20161216 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIlhU8g-AXywcAAGn1gdsQQc959.jpg |
| 0,00 | 0 | 20161215 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIlhSmryAZXITAG-zN3WQv4c789.jpg |
| 9900,00 | 1 | 20161214 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIVhRTrOALwG6AAE_csC3lvk695.jpg |
| 4320,00 | 1 | 20161213 | 2154FDCDA51A4257811F1EA886AACD14|upload/2022/web/CvkBIlhQrzCAfApEAAFKbHqkH3w634.jpg |
| 8760,00 | 2 | 20161212 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIlhOqjeAO1BdAAGHdajOU2E697.jpg |
| 213335,00 | 4 | 20161211 | 2154FDCDA51A4257811F1EA886AACD14|upload/2022/web/CvkBIVhNYQSAfxXgAAHZL9a8Nrs596.jpg |
| 47104,00 | 5 | 20161210 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIVhMsPSAAnrAAAETxX9fCuw946.jpg |
| 6100,00 | 1 | 20161209 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIlhLfXOAClJVAAFmuoqBI5o264.jpg |
| 13515,00 | 2 | 20161208 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIlhJZ06AbuaNAAGg7Bz3OsA569.jpg |
| 26769,00 | 4 | 20161207 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIlhIGgeAdNxuAAETxX9fCuw408.jpg |
| 0,00 | 0 | 20161206 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIlhGxAuAfQr8AAFatVZ2sFk337.jpg |
| 0,00 | 0 | 20161205 | 2154FDCDA51A4257811F1EA886AACD14|upload/2022/web/CvkBIlhGKy-AU9guAAGm4jFhmoU601.jpg |
| 20000,00 | 3 | 20161204 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIVhEIDGAMPuIAAH6chL6Wo8684.jpg |
| 20275,00 | 4 | 20161203 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIVhCyrSAE-uGAAGf0CWFbZM991.jpg |
| 3988,00 | 1 | 20161202 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIlhCI7mAUN_9AAIsSLMhcns351.jpg |
| 4460,00 | 1 | 20161201 | 2154FDCDA51A4257811F1EA886AACD14|upload/2022/web/CvkBIlhAKwmACroNAAGpJUqVqIA247.jpg |
| 10498,00 | 2 | 20161130 | 2154FDCDA51A4257811F1EA886AACD14|upload/2022/web/CvkBIlg-3euAbsd5AAGr-r7GCH0254.jpg |
| 11080,00 | 2 | 20161129 | 2154FDCDA51A4257811F1EA886AACD14|upload/2022/web/CvkBIVg9i6WAD4Z0AAHLB1yISaQ864.jpg |
| 6100,00 | 1 | 20161128 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIVg8OHGABTZOAAG1ZWoLoXY932.jpg |
| 5580,00 | 1 | 20161127 | 98FDB31FE4B04C21BC7EBE8A22981DA0|upload/2022/web/CvkBIVg65aKAcRWWAAFnaqaodKs660.jpg |
| 32630,00 | 2 | 20161126 | 2154FDCDA51A4257811F1EA886AACD14|upload/2022/web/CvkBIVg5kveALns0AAHLB1yISaQ850.jpg |
| 9800,00 | 1 | 20161125 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIVg4Qg2AMqoNAAH--He3hsg726.jpg |
| 32500,00 | 2 | 20161124 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIVg27_OAAV5OAAE8vRiZWHs684.jpg |
| 2700,00 | 1 | 20161123 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIlg2T4OAL3t5AAFsAWaUI98731.jpg |
| 4580,00 | 1 | 20161122 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIVg0-UeAFDr_AAIBY_LNIxs656.jpg |
| 14120,00 | 1 | 20161121 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIlgy_EeAaPdBAAHeyO5nxeo952.jpg |
| 41510,00 | 2 | 20161120 | EC481757CFDB445092D16D6B616350C8|upload/2022/web/CvkBIVgyYRKAZKi3AAGEp_IGjVM389.jpg |
| 7800,00 | 2 | 20161118 | C91D5E7905BA44C8A14045C9C228157F|upload/2022/web/CvkBIlgw_viAFHiPAAH0MZwoiCE530.jpg |
+-----------+------+----------+------------------------------------------------------------------------------------------+
48 Zeilen im Satz (0,15 Sek.)

MySQL>

Wie Sie sehen, wurde die Ausführungszeit auf 0,15 Sekunden reduziert, was einer Fünffachen Effizienzsteigerung entspricht. Schauen wir uns die Profilverfolgungsanalyse an.

mysql> Profil für Abfrage 8 anzeigen;
+-------------------------------+----------+
| Status | Dauer |
+-------------------------------+----------+
| beginnt | 0,000125 |
| Berechtigungen werden geprüft | 0,000015 |
| Berechtigungen werden geprüft | 0,000014 |
| Eröffnungstabellen | 0,000029 |
| init | 0,000055 |
| Systemsperre | 0,000020 |
| Warte auf Abfrage-Cache-Sperre | 0,000013 |
| Systemsperre | 0,000050 |
| Optimierung | 0,000023 |
| Statistik | 0,000087 |
| Vorbereitung | 0,000066 |
| Temporäre Tabelle wird erstellt | 0,000062 |
| Temporäre Tabelle wird erstellt | 0,000028 |
| Sortierergebnis | 0,000016 |
| wird ausgeführt | 0,000012 |
| Daten werden gesendet | 0,148283 |
| Sortierindex wird erstellt | 0,000342 |
| Sortierindex wird erstellt | 0,000223 |
| Ende | 0,000015 |
| Abfrageende | 0,000046 |
| temporäre Tabelle wird gelöscht | 0,000017 |
| Abfrageende | 0,000012 |
| temporäre Tabelle wird gelöscht | 0,000062 |
| Abfrageende | 0,000015 |
| Tabellen schließen | 0,000017 |
| Elemente freigeben | 0,000019 |
| temporäre Tabelle wird gelöscht | 0,000025 |
| Elemente freigeben | 0,000016 |
| Warte auf Abfrage-Cache-Sperre | 0,000012 |
| Elemente freigeben | 0,000915 |
| Warte auf Abfrage-Cache-Sperre | 0,000015 |
| Elemente freigeben | 0,000011 |
| Ergebnisse im Abfragecache speichern | 0,000013 |
| aufräumen | 0,000024 |
+-------------------------------+----------+
34 Zeilen im Set, 1 Warnung (0,00 Sek.)

MySQL>

Wie Sie sehen, gibt es nur einen Verbrauch von | Daten senden | 0,148283 |, sodass die Effizienz schnell verbessert wird.

Erweiterungen

WÄHLEN 
 NAME,
 WERT 
AUS
 v $-Parameter 
WO NAME IN (
 'pga_aggregate_target',
 „sga_ziel“
 ) 
UNION
WÄHLEN 
 'maximal zugewiesener PGA' als Name,
 TO_CHAR (WERT) ALS WERT 
AUS
 v$ pgastat 
WHERE NAME = 'maximal zugewiesener PGA';
--Daten einfügen
in t1 einfügen, 1, „a“ aus db1.t2 auswählen;
Rufen Sie db1.proc_get_fints auf

Zusammenfassen

Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels Ihnen bei Ihrem Studium oder Ihrer Arbeit helfen kann. Wenn Sie Fragen haben, können Sie eine Nachricht hinterlassen. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM.

Das könnte Sie auch interessieren:
  • So lösen Sie das Problem einer langsamen SQL-Abfrage in MySQL, die zum Absturz der gesamten Website führt
  • MySQL startet langsames SQL und analysiert die Ursachen
  • Häufige Ursachen und Lösungen für langsame MySQL-SQL-Anweisungen
  • Lassen Sie uns ausführlich über die Richtung der langsamen SQL-Optimierung in MySQL sprechen

<<:  Lösen Sie das Problem, dass das Vue-Projekt beim lokalen Start keine Cookies übertragen kann

>>:  Erstellen einer .NET Core 2.0 + Nginx + Supervisor-Umgebung unter einem Centos7-System

Artikel empfehlen

Implementierung eines Web-Rechners mit nativem JavaScript

In diesem Artikel wird der spezifische JavaScript...

Css3 realisiert nahtloses Scrollen und Anti-Shake

Frage Das nahtlose Scrollen von Bildern und Texte...

Ladeanimation mit CSS3 implementiert

Ergebnisse erzielen Implementierungscode <h1&g...

Realisierung der Echtzeit-Dateisynchronisierung zwischen Linux-Servern

Anwendungsszenarien Bei vorhandenen Servern A und...

Eine kurze Analyse von Kubernetes-Controllern und -Labels

Inhaltsverzeichnis 01 Gemeinsame Controller in k8...

Mehrere Möglichkeiten zum Aktualisieren von Batches in MySQL

Normalerweise verwenden wir die folgende SQL-Anwe...

So installieren Sie FastDFS in Docker

Ziehen Sie das Bild Docker-Pull-Saison/FastDFS:1....

Beispiel zum Erstellen eines öffentlichen Harbor-Repository mit Docker

Im vorherigen Blogbeitrag ging es um das private ...

Verwendung des MySQL-Stresstesttools Mysqlslap

1. MySQLs eigenes Stresstest-Tool Mysqlslap mysql...

Häufig verwendete JS-Funktionsmethoden im Frontend

Inhaltsverzeichnis 1. E-Mail 2. Mobiltelefonnumme...

14 praktische Erfahrungen zur Reduzierung von SCSS-Code um 50 %

Vorwort Sass ist eine Erweiterung der CSS3-Sprach...