Index / Indizes

Getting started ... Alles für einen gelungenen Start.
9 Beiträge • Seite 1 von 1
9 Beiträge Seite 1 von 1

Index / Indizes

Beitrag von Phame (ForumUser / 14 / 8 / 0 ) »
Hallo,

ich hab hier ein Programm mit einigen Selects for mir und soll dabei die Laufzeit (welche eindeutig zu lang ist) optimieren. Dabei weis ich jedoch nicht so recht wie ich da vorgehen soll, wie leg ich einen Inidzes für ein Select an? Und wie überprüfe ich ob das slect über einen Index läuft (find in der Tabelle dazu keinen Eintrag)

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: Index / Indizes

Beitrag von Niels (ForumUser / 77 / 18 / 9 ) »
Hallo,

mit der Transaktion ST05 kannst du eine Performance Analyse durchführen für das Programm.

Gruß

Niels

Folgende Benutzer bedankten sich beim Autor Niels für den Beitrag:
Phame


Re: Index / Indizes

Beitrag von RaCDigger (ForumUser / 42 / 4 / 7 ) »
Hallo Phame,

um die von Niels erwähnte Transaktion noch etwas zu spezifizieren.
Die einfachste vorgehensweise wäre die ST05 starten:
- Trace einschalten
- das zu prüfende Programm (Report) laufen lassen
- Trace ausschalten -> ganz wichtig sonst hast du spaß mit deinem Admin
- Trace anschauen
Dann kannst dann in diesem Trace alle Select anweisungen mit Dauer anschauen und dann explizit dich um die Probleme kümmern.

Erst mal Wild auf Tabellen Indizes erzeugen ist aufjedenfall nicht ziel führen.

Danach wäre es empfehlenswert das Programm selbst anzuschauen und evtl. die Selects zu optimieren.

Gruß
Sven

Folgende Benutzer bedankten sich beim Autor RaCDigger für den Beitrag:
Phame


Re: Index / Indizes

Beitrag von jocoder (Specialist / 343 / 3 / 102 ) »
Hier eine kleine Anleitung wie man Indexe anlegt im SAP.
Aber bevor du welche anlegst eine Frage: wie oft wird denn ein Datensatz gelesen bevor er gelesen wird ganz grob?
Wenn alle paar Minuten darauf geschrieben wird und nur einmal im Monat der Datensatz gelesen wird, bremst
ein Index nur.
Zuerst die Transaktion se11 aufrufen:
1. Schritt
[img]index_anl.jpg[/img]
2. Schritt:
[img]index_anl2.jpg[/img]
In der Transaktion erscheint folgendes im Ausführungsplan, wenn der Index verwendet wird:
[img]use_index.jpg[/img]

Sonst können noch inner joins statt verschaltete Select-Schleifen helfen!
Wird ziemlich oft select single verwendet?

Folgende Benutzer bedankten sich beim Autor jocoder für den Beitrag:
Phame


Re: Index / Indizes

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Die Aussage "Einfach hier alle Spalten angeben" halte ich fuer sehr gewagt, das koennte ein Anfaenger falsch auffassen.

Ein Index sollte schon irgendwie Sinn ergeben: Spalten so viel wie noetig und so wenig wie moeglich. Vielleicht hast Du es ja sogar so gemeint.

Ich habe schon in Firmen gearbeitet, da meinte auch jeder, bei dem kleinsten Performanceproblem legen wir halten einen Index an.
Und da habe einige so gedacht, dass nachher sogar Index doppelt angelegt wurden.
Und ploetzlich hatten einige Tabellen auf einmal 10-15 Index MEHR, als im Standard. Denn sie wussten nicht was sie tun....

Re: Index / Indizes

Beitrag von steff_m (ForumUser / 3 / 0 / 0 ) »
Unit605 hat geschrieben:Die Aussage "Einfach hier alle Spalten angeben" halte ich fuer sehr gewagt, das koennte ein Anfaenger falsch auffassen.

Ein Index sollte schon irgendwie Sinn ergeben: Spalten so viel wie noetig und so wenig wie moeglich. Vielleicht hast Du es ja sogar so gemeint.

Ich habe schon in Firmen gearbeitet, da meinte auch jeder, bei dem kleinsten Performanceproblem legen wir halten einen Index an.
Und da habe einige so gedacht, dass nachher sogar Index doppelt angelegt wurden.
Und ploetzlich hatten einige Tabellen auf einmal 10-15 Index MEHR, als im Standard. Denn sie wussten nicht was sie tun....
"so viel wie noetig und so wenig wie moeglich" - Genau. Mit jedem neuen Datensatz werden dann 20 Index aktualsiert.. Super!

Re: Index / Indizes

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
steff_m hat geschrieben:
Unit605 hat geschrieben:Die Aussage "Einfach hier alle Spalten angeben" halte ich fuer sehr gewagt, das koennte ein Anfaenger falsch auffassen.

Ein Index sollte schon irgendwie Sinn ergeben: Spalten so viel wie noetig und so wenig wie moeglich. Vielleicht hast Du es ja sogar so gemeint.

Ich habe schon in Firmen gearbeitet, da meinte auch jeder, bei dem kleinsten Performanceproblem legen wir halten einen Index an.
Und da habe einige so gedacht, dass nachher sogar Index doppelt angelegt wurden.
Und ploetzlich hatten einige Tabellen auf einmal 10-15 Index MEHR, als im Standard. Denn sie wussten nicht was sie tun....
"so viel wie noetig und so wenig wie moeglich" - Genau. Mit jedem neuen Datensatz werden dann 20 Index aktualsiert.. Super!
Kannst Du mir Deinen Satz mal genauer erklaeren? Macht fuer mich, so wie er da, steht keinen Sinn.

Meine von Dir zitierte Aussage: "so viel wie noetig und so wenig wie moeglich " bedeutet naemlich genau das Gegenteil, von dem Rueckschluss, den Du daraus ziehst.

Nebenbei erwaehnt: Klasse Einstand. :up:

Re: Index / Indizes

Beitrag von steff_m (ForumUser / 3 / 0 / 0 ) »
Super!
Man sollte bei jedem neuen und alten Index natürlich prüfen, ob er notwendig ist. 20 Index auf einer Tabelle sind in der Praxis selten sinnvoll. Abfragen und Joins sollten genau geprüft werden. Hier liegt der Knackpunkt..

Das bedeutet für mich "so viel wie noetig und so wenig wie moeglich" Also auf einen Spalte, die in keiner where-Klausel auftaucht und die in keinem Join auftaucht, sollte auch kein Index auftauchen! Ich bin Taucher!

Re: Index / Indizes

Beitrag von steff_m (ForumUser / 3 / 0 / 0 ) »
War das jetzt verständlich? Wenn Du eine andere Meinung hast, dann raus damit.

Seite 1 von 1

Vergleichbare Themen

0
Antw.
1070
Views
Kaputte Indizes
von c0lt.seavers » 24.01.2008 08:33 • Verfasst in SAP - Allgemeines
1
Antw.
3162
Views
Im ABAP/4-Dictionary unbekannte Indizes
von shatti » 16.05.2007 15:29 • Verfasst in Basis
0
Antw.
16588
Views
FAQ Index
von Jan » 02.08.2005 08:08 • Verfasst in Tips + Tricks & FAQs
8
Antw.
2806
Views
Laufvariable / Index
von Lbyte » 27.10.2017 15:50 • Verfasst in ABAP® für Anfänger
6
Antw.
3305
Views
Index im where Teil
von kaim77 » 10.09.2014 08:54 • Verfasst in ABAP® Core

Aktuelle Forenbeiträge

Daten an Tabelle binden
vor 8 Stunden von Bright4.5 3 / 1482
Regex in where
vor 10 Stunden von tar 6 / 153

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Daten an Tabelle binden
vor 8 Stunden von Bright4.5 3 / 1482
Regex in where
vor 10 Stunden von tar 6 / 153

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9821