HANA Optimal Performance

Die optimale Leistung von SAP HANA ist entscheidend für die effiziente Datenverarbeitung und -analyse. Es geht darum, Ressourcen wie Speicher zu überwachen, Arbeitslasten zu analysieren und kostenintensive SQL-Statements zu evaluieren. Dieser Artikel bietet eine umfassende Anleitung zur Optimierung der HANA-Leistung durch Schema-Design, SQL-Abfrageoptimierung, SQL-Skript-Performance und Berechnungsansichten.

Die optimale Leistung von SAP HANA erfordert eine sorgfältige Planung und Optimierung auf verschiedenen Ebenen, von der Schema-Design bis hin zu SQL-Abfragen und Berechnungsansichten. Durch die Implementierung der beschriebenen Best Practices können SAP HANA Spezialisten die Effizienz und Geschwindigkeit ihrer Datenverarbeitung maximieren.

SAP-HANA-Certified-Technology-Consultant SAP HANA 2.0 SPS03
Zertifizierung 2020

Wir unterstützen Sie gerne in den folgenden Themen:

Schema Design

Table TypeDie Wahl des richtigen Tabellentyps ist entscheidend. SAP HANA unterstützt sowohl zeilenbasierte als auch spaltenbasierte Speicherung, wobei die spaltenbasierte Speicherung aufgrund ihrer hervorragenden Komprimierung und schnellen Abfrageleistung für die meisten Szenarien bevorzugt wird. Zeilenbasierte Tabellen eignen sich besser für kleine Datensätze oder hochfrequente transaktionale Aktualisierungen.
IndexIndizes spielen eine wichtige Rolle bei der Beschleunigung von Abfragen. Primärschlüsselindizes und sekundäre Indizes, einschließlich mehrspaltiger Indizes, helfen dabei, die Zugriffszeiten zu verkürzen und die Abfrageeffizienz zu erhöhen. Es ist jedoch wichtig, das Gleichgewicht zwischen der Anzahl der Indizes und dem damit verbundenen Speicher- und Wartungsaufwand zu finden.
PartitioningDie Partitionierung von Tabellen ermöglicht die horizontale Verteilung von Daten, was besonders in verteilten HANA-Landschaften nützlich ist. Durch die richtige Partitionierung können Abfragen beschleunigt werden, indem nur relevante Datenpartitionen durchsucht werden. Es ist jedoch wichtig, dass die Partitionierungskriterien den häufigsten und teuersten Abfragen entsprechen.
CacheDie Verwendung von Cache-Mechanismen kann die Abfrageleistung erheblich verbessern. SAP HANA bietet verschiedene Cache-Optionen, um den Datenzugriff zu beschleunigen und die Antwortzeiten zu verkürzen.
DenormalizationDie Denormalisierung kann die Leistung verbessern, indem sie die Anzahl der erforderlichen Joins reduziert. Durch die Zusammenführung von Daten in einer einzigen Tabelle können die Abfragezeiten verkürzt werden, obwohl dies zu erhöhter Redundanz und potenziellen Dateninkonsistenzen führen kann.

SQL Query Performance

SQL Processing ComponentsDie SQL-Verarbeitung in HANA umfasst verschiedene Komponenten, darunter Parser, Optimierer und Ausführungsengine. Jede dieser Komponenten spielt eine Schlüsselrolle bei der effizienten Verarbeitung von SQL-Abfragen.
HANA SQL OptimizerDer HANA SQL Optimizer besteht aus einem regelbasierten und einem kostenbasierten Optimierer. Der regelbasierte Optimierer wendet vordefinierte Regeln an, während der kostenbasierte Optimierer die Ausführungskosten verschiedener Abfragepläne vergleicht, um den effizientesten Plan auszuwählen.
ToolsZur Analyse und Optimierung von SQL-Abfragen stehen verschiedene Werkzeuge zur Verfügung. Der SQL Plan Cache speichert vergangene Abfragepläne, während das Explain Plan Tool die Ausführungsstrategie einer Abfrage visualisiert. Der Plan Visualizer und SQL Traces bieten detaillierte Einblicke in die Abfrageausführung. Debug-Traces wie der Step & Time Debug Trace helfen bei der detaillierten Fehlersuche.
SQL Tuning GuidelinesZur Verbesserung der SQL-Abfrageleistung sollten implizite Typumwandlungen vermieden, ineffiziente Prädikate in Joins und EXISTS/IN-Abfragen optimiert sowie Set-Operationen reduziert werden. Mehrspaltige Joins können durch die Verwendung von Hinweisen optimiert werden, um den Abfrageplan anzupassen.

SQL Script Performance

SQLScript OptimizerDer SQL Script Optimizer analysiert und optimiert SQLScript-Prozeduren, um die Ausführungszeiten zu minimieren.
SQLScript Performance AnalysisDie Leistungsanalyse von SQLScript umfasst die Überprüfung von SQL-Traces und Plan-Profilen sowie die Nutzung von Überwachungsansichten wie M_ACTIVE_PROCEDURES.
SQLScript Performance GuidelinesZur Verbesserung der SQLScript-Leistung sollten die Komplexität von SQL-Anweisungen reduziert, Abhängigkeiten zwischen Anweisungen minimiert und teure Abfragen vermieden werden. Der Einsatz von NO_INLINE-Hinweisen kann die Inlining-Strategie beeinflussen, und der Einsatz von Cursorn sollte vermieden werden.

Calculation Views

Setting Join CardinalityDie Festlegung der Join-Kardinalität hilft dem Optimierer, die beste Ausführungsstrategie zu wählen.
Optimizing Join ColumnsDie Optimierung von Join-Spalten kann die Abfrageleistung verbessern, indem unnötige Datenzugriffe vermieden werden.
Using Dynamic JoinsDynamische Joins ermöglichen eine flexible Abfrageoptimierung basierend auf den zur Laufzeit verfügbaren Daten.
Union Node PruningDas Beschneiden von Union-Knoten reduziert die Datenmenge, die verarbeitet werden muss, und verbessert somit die Abfrageleistung.
Push Down Filters in Rank NodesDas Herunterdrücken von Filtern in Rangknoten ermöglicht eine effizientere Datenverarbeitung, indem Filteroperationen so nah wie möglich an die Datenquelle verlagert werden.
Nach oben scrollen