![]() |
AW: Laufzeit von Stored Procedure verkürzen
Zitat:
Meinst Du also ich soll mir eine 2. Tabelle machen in der ich die korrekten Datentypen verwende und diese dann mit Insert Trigger befülle? |
AW: Laufzeit von Stored Procedure verkürzen
Ich hab die Stored Procedure mal aufgteilt und zwar so, dass ich die Selects nicht mehr über Unions verbinde, sondern für jeden Select eine eigene Stored Procedure hab... das würde die Laufzeit schon mal auf 1:02 min. reduzieren...
Heißt wohl das die Unions ein nicht unerheblicher Zeitfresser sind... |
AW: Laufzeit von Stored Procedure verkürzen
mit jedem union werden Deine Mio Datensätze erneut abgefragt.
Weiß nicht genau wie es unter MS ist, aber ein "Union" prüft implizit auf Distincte Ergenisse - also werden alle Teilergebniss noch einmal untereinander verglichen. Ein "Union All" macht das nicht und ist vorzuziehen, wenn man sicherstellen kann, dass sich die Ergebnisse nicht überschneiden. Wenn die Einzelergebnisse jeweils große Mengen sind, könnte das also auch was bringen. |
AW: Laufzeit von Stored Procedure verkürzen
Ne im Prinzip erhalte ich durch die Stored Procedure als Ergebniss 6 Datensätze...
Eine Stored Procedure die alles abdeckt wäre halt "eleganter" gewesen wenn ich an meinen VBA Code denke, aber wenn ich durch einen getrennten Aufruf der Stored Procedures schneller die Ergebnisse erhalte dann muss ich halt diesen weg gehn... Union ALL wäre noch eine Alternative die ich mal Testen könnte... |
AW: Laufzeit von Stored Procedure verkürzen
Die erwähnten Temptables wären auch eine Möglichkeit ...
|
AW: Laufzeit von Stored Procedure verkürzen
Zitat:
![]() Alleine dadurch solltestt Du schon einiges gewinnen. Gruß K-H |
AW: Laufzeit von Stored Procedure verkürzen
Zitat:
|
AW: Laufzeit von Stored Procedure verkürzen
Zitat:
Zitat:
|
AW: Laufzeit von Stored Procedure verkürzen
Zitat:
|
AW: Laufzeit von Stored Procedure verkürzen
nur schematisch ....
Code:
Create Table #pl
( Value Varchar(20) ) insert into #pl SELECT Value FROM [inventory].[dbo].[fnSplit](@Productline, ';') .... Select ALL_MaterialGrid,ALL_Brand,ALL_ProductLine,ALL_LowestPLC_SKU ,(CONVERT(Float, REPLACE(ALL_AvailableStock, ',', '.')) as ALL_AvailableStock .... .... ... into #tmp1 from inventory.inv_all Where ALL_ProductLine in (Select * from #pl) and .... Ceate Table #Result ( Storage varchar(30), Typ varchar(20), [PLC_<25] int, ........ ) insert into #Result Select 'Warehouse' as Storage, 'SKUs' as Typ, (Select Count(*) from #tmp1 where ... ... ... and ALL_AvailableStock > 0) as [PLC_<25], ...... insert into #Result ...... --final: Select * from #Result |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:42 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 by Thomas Breitkreuz