[57878] in SAPr3-news
Re: "order by" beim "select" in ein sorted table
daemon@ATHENA.MIT.EDU (gs_dev0@nexgo.de)
Thu Aug 17 03:11:36 2006
To: sapr3-news@mit.edu
Date: 17 Aug 2006 00:11:21 -0700
From: gs_dev0@nexgo.de
Message-ID: <1155798681.576012.282520@75g2000cwc.googlegroups.com>
Ralf Wenzel schrieb:
> Behauptung: Es bringt etwas, wenn man bei einem select in eine
> sortierte Tabelle (type sorted table) einen "order by primary key"
> mitgibt.
>
> Gegenbehauptung: Wenn es =FCberhaupt was bringt, dann nur Zeitverluste.
>
> Was davon stimmt und warum?
Hallo Ralf,
ich denke es kommt darauf an, wie die interne Tabelle sortiert werden
soll.
Wahrscheinlich spielt auch die Anzahl der zu lesenden Datens=E4tze eine
Rolle.
Mit einem kleinen Testprogramm habe ich mal verschiedene F=E4lle
durchprobiert.
Wenn die interne Tabelle nach den Schl=FCsselfeldern der DB-Tabelle
sortiert ist
scheint der Zusatz "order by" tats=E4chlich einen Zeitgewinn zu bringen
(s.u.):
Lesen der Tabelle MARC (Schl=FCsselfelder matnr und werks) in eine
interne Tabelle mit folgendem Aufbau:
matnr TYPE marc-matnr
werks TYPE marc-werks
ekgrp TYPE marc-ekgrp
mmsta TYPE marc-mmsta
Schl=FCsselfelder der internen Tabelle und entsprechender Zusatz
"select...order by" matnr, werks
100 Durchl=E4ufe
Laufzeit OHNE select...order
Durch.Laufzeit: 829.573
Laufzeit MIT select...order
Durch.Laufzeit: 661.169
----------------------------
Schl=FCsselfelder der internen Tabelle und entsprechender Zusatz
"select...order by" matnr, werks, ekgrp
100 Durchl=E4ufe
Laufzeit OHNE select...order
Durch.Laufzeit: 826.144
Laufzeit MIT select...order
Durch.Laufzeit: 1.249.842
----------------------------
Schl=FCsselfelder der internen Tabelle und entsprechender Zusatz
"select...order by" werks, matnr
100 Durchl=E4ufe
Laufzeit OHNE select...order
Durch.Laufzeit: 869.024
Laufzeit MIT select...order=20
Durch.Laufzeit: 1.382.109 =20
Gru=DF
Georg