Index im where Teil

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
7 Beiträge • Seite 1 von 1
7 Beiträge Seite 1 von 1

Index im where Teil

Beitrag von kaim77 (Specialist / 200 / 0 / 0 ) »
Guten Morgen,
ich habe mal meinen Report durchprüfen lassen. Dabei wird als Fehler gemeldet, dass kein Indexfeld im where benutzt wird. Ich habe ein Index angelegt. Ich wil aber nicht nach diesem Indexfeld selektieren. WIe kann ich dieses Indexfeld ins where-Teil hineinbringen.
Danke und viele Grüße
Kaim

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


Re: Index im where Teil

Beitrag von PeterPaletti (Specialist / 336 / 29 / 96 ) »
Ist mir jetzt nicht ganz klar, was du eigentlich willst.
Du willst nicht nach dem Indexfeld selektieren, das Indexfeld aber in die where-Bedingung aufnehmen. Wozu soll das gut sein?

Du könntest spaßeshalber für das Index-Feld eine Range-Tabelle anlegen, diese aber leer lassen.
Dann könntest du WHERE indexfeld IN <Range> selektieren.
Erscheint mir aber irgendwie albern.

Gruß
Peter

Re: Index im where Teil

Beitrag von kaim77 (Specialist / 200 / 0 / 0 ) »
Hallo,
der Codeinspektor hat dies gemeldet, dass es im whrere-Teil erscheinen soll.
Ich weiss nicht, ob der Code dadurch optimaler wird.
Viele Grüße
Kaim

Re: Index im where Teil

Beitrag von Thanatos82 (Expert / 699 / 32 / 123 ) »
Hi,

es würde wohl helfen, wenn du mal erklärst bei welchem Befehl das fehlen soll und was du mit dem Befehl eigentlich machen möchtest (Code-Schnipsel?). Und auch wenn der Code Inspector da mault, mir ist noch nie untergekommen, das die Angabe eines Index in welchem Befehl in Verbindung mit einer WHERE Klausel auch immer, eine Pflichtangabe ist.
Gruß,
der Matze

Re: Index im where Teil

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
kaim77 hat geschrieben:Hallo,
der Codeinspektor hat dies gemeldet, dass es im whrere-Teil erscheinen soll.
Ich weiss nicht, ob der Code dadurch optimaler wird.
Viele Grüße
Kaim
Es ist wohl mehr ein Hinweis, als ein Error.

Falls man einen Index verwenden kann, wuerde dadurch die performance "meist" verbessert.
Es muss aber insgesamt auch Sinn machen.
Es gibt Personen die legen dann einfach einen neuen Index auf der DB an, damit es wieder "passt". Ist aber selten empfehlenswert!

Re: Index im where Teil

Beitrag von kaim77 (Specialist / 200 / 0 / 0 ) »
Hallo,
Es stand im Codeinspektor. Es geht genau wie du sagst darum, damit es schnelle läuft. Die Indizes sind jetzt angelegt. Was muss ich jetzt meinem Select einfügen?

Muss mein Select dann ungefähr so sein ?

SELECT carrid connid cityfrom
FROM spfli INTO (xcarrid, xconnid, xcityfrom)
WHERE carrid = 'LH ' AND cityfrom = 'FRANKFURT'
%_HINTS ORACLE 'INDEX("SPFLI" "SPFLI~001")'.
WRITE: / xcarrid, xconnid, xcityfrom.
ENDSELECT.


Oder ich habe im Tricktresor folgendes entdeckt:

%_HINTS ORACLE ‘FIRST_ROWS’

Danke und viele Grüße
Kaim

Re: Index im where Teil

Beitrag von JHM (Top Expert / 1188 / 1 / 195 ) »
kaim77 hat geschrieben:Die Indizes sind jetzt angelegt.


Das Anlegen der Indizies war wahrscheinlich schon sinnfrei bzw. kontraproduktiv. Kommt aber auf den Einzelfall an. Ohne genauere Angaben was du wie woher selektierst kann man das schwer einschätzen.
Aber nur weil es eine Meldung gibt, das nicht über Index zugegriffen wird, rechtfertigt noch nicht das Anlegen mehrere Indizes. Die Meldung hört sich meist schlimmer an, als die Auswirkung wirklich ist.
kaim77 hat geschrieben:Was muss ich jetzt meinem Select einfügen?

Code: Alles auswählen.

SELECT carrid connid cityfrom
 FROM spfli INTO (xcarrid, xconnid, xcityfrom)
 WHERE carrid = 'LH ' AND cityfrom = 'FRANKFURT'.
Reicht ansich. Der SAP sollte feststellen das der Index SPLFI~001 exsistiert. Demnach wäre ein Zugriff über CITYFROM auf den Index schneller als ein FullTableScan. Demnach sollte zuerst über den Index zugegriffen werden und dann mit der Teilmenge weiter gearbeitet werden.

es gibt seltene Fälle, wo der Select nicht automatisch den richtigen Index zieht. Dann kann man mit HINTS einen Schubs in die richtige Richtung geben. Davor sollte man aber mal mit der ST05 den Tabellenzugriff genauer analysieren.
Gruß Hendrik

Seite 1 von 1

Vergleichbare Themen

0
Antw.
15812
Views
FAQ Index
von Jan » 02.08.2005 08:08 • Verfasst in Tips + Tricks & FAQs
3
Antw.
2149
Views
Datenbank-Index
von Charadin » 19.11.2007 12:23 • Verfasst in ABAP® Core
4
Antw.
944
Views
Datenbank Index
von A6272 » 28.09.2020 13:45 • Verfasst in ABAP® für Anfänger
8
Antw.
2585
Views
Index / Indizes
von Phame » 20.08.2015 13:05 • Verfasst in ABAP® für Anfänger
5
Antw.
3540
Views
Index in WHERE - Bedingung
von Gast » 13.10.2004 16:18 • Verfasst in ABAP® Core

Aktuelle Forenbeiträge

Zugriff auf Daten via Webdav
vor 42 Minuten von msfox 2 / 34
Interne Tabelle
vor 17 Stunden von sap_enthusiast 3 / 163
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

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

Zugriff auf Daten via Webdav
vor 42 Minuten von msfox 2 / 34
Interne Tabelle
vor 17 Stunden von sap_enthusiast 3 / 163
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141