![]() |
Datenbank: MySQL • Version: 5.6 • Zugriff über: egal
mySQL Funktion Performance
Hallo
Ich habe ein Problem mit einer MySQL Funktion. Ich habe zwei Tabellen mit einer Master Detail Beziehung. Die Funktion summiert Werte aus der Detailtabelle. In einer View gebe ich die Daten der Mastertabelle mit den summierten Werten der Detailtabelle aus. In der View werden ca 500 Datensätze ausgegeben. Das ganze dauert auf meinem entwicklungs PC unter 0,5sec Auf einem anderen system mit 100% identischem Datenbank Schema dauert diese Abfrage mindestens 15sekunden. Die Anzahl der Datensätze ist auch auf beiden Systemen gleich. Es ist die gleiche MySQL Version auf beiden Systemen Die Hardware ist in etwa identisch. Gibt es servervariabelen die eine solche Performancebremse auslösen? Wie kann ich den Fehler am besten eingrenzen? Bin für jeden Tipp dankbar Gruß EarlyBird |
AW: mySQL Funktion Performance
Schließt das selbe Schema auch die selben Indizes ein?
|
AW: mySQL Funktion Performance
Ist nur diese Abfrage langsame oder auch ander Abfragen?
|
AW: mySQL Funktion Performance
1. Prüfen ob tatsächlich alles so identisch ist, oder ob man nur dachte, es sei identisch
betrifft besonders Indizes (auch zuviel/andere Indizierung kann sowas auslösen), Datenvolumen der Detailtabelle, Füllgrad 2. Falls 1. tatsächlich so ist, DB Konfiguration prüfen, insbesondere Buffergröße und Beständigkeit) Entwicklersysteme haben geringere Anforderungen als das Produktivsystem (Multiuser / Last) Kann sein, dass der Unterschied daher rührt, dass im ersten Fall Group/Agg im Speicher durchgeführt wird, im 2. Fall auf Platte, mangels (verfügbarer, nicht unbedingt definierter)RAM Ressourcen. Konkret kann ich da aber bei mySQL keine Parameter benennen. |
AW: mySQL Funktion Performance
Hallo
Danke für Eure Antworten. Die Schemen sind tatsächlich 100% identisch. Auch die Indizes. Abfragen funktionieren normal schnell. Nur wenn ich die Funktion in einer Abfrage einfüge wird es so extrem langsam. Multiuser/Last kann ich eigentlich auch Ausschließen da das Problem auch dann auftritt wenn ich allein darauf zugreife. Das Datenvolumen und der Füllgrad sind kann ich auch ausschließen (Maximal 5000 Datensätze in der Detailtabelle) Zitat:
Kann ich das irgendwie prüfen? noch mal Danke für Eure Hilfe |
AW: mySQL Funktion Performance
Zitat:
Zitat:
Du hast oben von einer Group/Agg Abfrage geschrieben, die auf einem System langsamer als auf dem anderen System läuft. Wie lautet das Statement? Zitat:
>show variables; ![]() und vergleiche die Ergebnisse, auch mit verschiedenen scopes. Ich hab keine Adminkenntnisse von mysql. |
AW: mySQL Funktion Performance
Zitat:
2. habe ich ein Tool von Devart dafür genutzt 3. Habe ich es selbst überprüft Zitat:
Diese Funktion nutze ich in der View. Zitat:
da gibt es schon so einige Unterschiede. Ich weiß nur nicht welche die Performance so stark beeinflussen können. Es sind auch insgesamt so viele das ich nicht einfach alles probieren kann. |
AW: mySQL Funktion Performance
Zitat:
Zitat:
Allerdings, wenn bei so wenig Datensätzen schon so lange Laufzeiten entstehen, ist die Umsetzung dieser Funktion oder die Integration in den View vielleicht auch nicht sehr gelungen. Zitat:
Vielleicht orientierst Du Dich an der Idee, dass es am verfügbaren Speicher für Sort und Group Anweisungen liegt, also Memory Settings (xy_buffer_size). Das dürfte eine überschaubare Anzahl von Einstellungen sein, vielleicht sogar einige identisch. Dann gibt's da noch die Dokumentation, die liefert sicher Hinweise ohne Durchprobieren. |
AW: mySQL Funktion Performance
Zitat:
Wenn ich das ganze direkt in der View einbinde ist das Problem auch identisch.
SQL-Code:
Select ..., ..., (select sum(wert) from TableB where TableA_ID = a.ID Group by TableA_ID) as wertgesamt from TableA as a
ist identisch mit Select ..., ..., datenbankname.Funktion(ID) as wertgesamt from TableA |
AW: mySQL Funktion Performance
Inno-DB oder MYISAM? In der MySQL-Workbench kann man sich ganz gut die Füllstände der Buffer und die Last-Verteilung anschauen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz