Ik zit met een vervelend probleem.
Een klant van ons heeft een Database in SQL2000 Standard Edition, en het uitvoeren van een Query duurt meer dan 36 seconden, doe je dezelfde query op een standalone pc, duurt deze maar 3tot5 seconden. De standalone Pc is een P4 / 1.2Ghz / 256Mb Ram, de server is een HP Proliant ML350 G4p Server ( Xeon Processor )
Er is een case open bij Microsoft, maar aangezien het een performantie probleem is kunnen ze enkel maar een best effort doen. En ik ben er met hen nog niet echt uit geraakt, en ze hebben toch nog geen enkel deftig antwoord geformuleerd, of nog maar gekeken naar deze server
Dus een beetje meer uitleg :
OS : Windows 2003 Small Bussiness Server met SP2 + Full Patched using MS Update
SQL : SQL 2000 Standard Edition ( onderdeel van de SBS ) met SP4 erop
Hardware : HP Proliant ML 350 G4p Server
De SQL Query :
En hier de View die hij probeert aan te spreken :
Hebben jullie nog suggesties? Ik kan wel niets wijzigen aan de Query's zelf, ben geen programmeur. Maar de programmeur in kwestie heeft er zich vanaf gemaakt door te stellen dat als hij het test op een andere machine ( ik stond ernaast ) effectief pakken sneller is.
Ik ben nu echt aan het einde van mijn beperkt SQL kennis.
Een klant van ons heeft een Database in SQL2000 Standard Edition, en het uitvoeren van een Query duurt meer dan 36 seconden, doe je dezelfde query op een standalone pc, duurt deze maar 3tot5 seconden. De standalone Pc is een P4 / 1.2Ghz / 256Mb Ram, de server is een HP Proliant ML350 G4p Server ( Xeon Processor )
Er is een case open bij Microsoft, maar aangezien het een performantie probleem is kunnen ze enkel maar een best effort doen. En ik ben er met hen nog niet echt uit geraakt, en ze hebben toch nog geen enkel deftig antwoord geformuleerd, of nog maar gekeken naar deze server
Dus een beetje meer uitleg :
OS : Windows 2003 Small Bussiness Server met SP2 + Full Patched using MS Update
SQL : SQL 2000 Standard Edition ( onderdeel van de SBS ) met SP4 erop
Hardware : HP Proliant ML 350 G4p Server
- Processor : Intel Xeon Processor @ 3.20 Ghz
- Memory : 2GB ECC DDR2 PC3200 400Mhz
- Disks : SCSI 10K 72Gb in RAID5
- Upgrade van Proliant Support Pack naar versie 8.00
- Firmware Maintenance CD 8.00
- Uninstall van AntiVirus (F-Secure)
- Uninstall van MSDE SQL's die draaien ( SBSMonitoring & F-Secure SQL )
- Uninstall van APC Software
- Uninstall van SBS Monitoring
- Post SP2 Patch geinstalleerd : An update to turn off default SNP features is available for Windows Server 2003-based and Small Business Server 2003-based computers
- Herinstallatie van de SQL Server - Remove + Reboot + Install + Import Database from Backup
- Database Maintenance Plan manueel uitvoeren
- Defragmentatie van de Database
- Stoppen van alle andere Databases die in SQL staat
- Booten met alle niet kritieke services gestopt ( MSConfig ) - dus geen exchange die draait enz.
- SQL Best Practice Analyzer gedraaid , niets speciaal
- Memory op minimum 1Gb gezet
De SQL Query :
code:
1
2
| select * from V_SV_cpnr
where seizoen = 81 and tss > 0 and winkelnr = 3 and categorie < 1001 order by seizoen, merkomschr |
En hier de View die hij probeert aan te spreken :
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
| CREATE VIEW dbo.V_SV_Cpnr
AS
SELECT TOP 100 PERCENT dbo.FMartikels.CpNr, dbo.FMartikels.ArtikelKode, dbo.FMartikels.Omschrijving, dbo.FMartikels.Seizoen, dbo.FMartikels.Merk,
dbo.FMartikels.Categorie, dbo.FMartikels.Groep, dbo.FMartikels.Kleur, dbo.FMartikels.Sexe, dbo.FMartikels.Kode, dbo.FMartikels.Winkel,
dbo.FMartikels.Matenbalk, dbo.FMmerken.Description AS Merkomschr, dbo.FMgroups.Description AS Groepomschr,
dbo.FMseasons.Description AS Seizoenomschr, dbo.FMmatenbalken.Description AS Matenbalkomschr, dbo.FMartikels.Verkoopprijs,
dbo.FMartikels.Aankoopprijs AS OrgAankoopprijs, dbo.FMartikels.Aankoopprijs * dbo.FMseasons.Afschrijving / 100 AS Aankoopprijs,
dbo.FMseasons.Afschrijving, dbo.FMmatenbalken.MT1, dbo.FMmatenbalken.MT2, dbo.FMmatenbalken.MT3, dbo.FMmatenbalken.MT4,
dbo.FMmatenbalken.MT5, dbo.FMmatenbalken.MT6, dbo.FMmatenbalken.MT7, dbo.FMmatenbalken.MT8, dbo.FMmatenbalken.MT9,
dbo.FMmatenbalken.MT10, dbo.FMmatenbalken.MT11, dbo.FMmatenbalken.MT12, dbo.FMmatenbalken.MT13, dbo.FMmatenbalken.MT14,
dbo.FMmatenbalken.MT15, dbo.FMmatenbalken.MT16, dbo.FMmatenbalken.MT17, dbo.FMmatenbalken.MT18, dbo.FMmatenbalken.MT19,
dbo.FMmatenbalken.MT20, dbo.FMmatenbalken.MT21, dbo.FMmatenbalken.MT22, dbo.FMmatenbalken.MT23, dbo.FMmatenbalken.MT24,
dbo.FMmatenbalken.MT25, ISNULL(dbo.V_Lev_Cpnr_Sum.L1 - dbo.V_Verk_Cpnr_sum.V1, dbo.V_Lev_Cpnr_Sum.L1) AS S1,
ISNULL(dbo.V_Lev_Cpnr_Sum.L2 - dbo.V_Verk_Cpnr_sum.V2, dbo.V_Lev_Cpnr_Sum.L2) AS S2,
ISNULL(dbo.V_Lev_Cpnr_Sum.L3 - dbo.V_Verk_Cpnr_sum.V3, dbo.V_Lev_Cpnr_Sum.L3) AS S3,
ISNULL(dbo.V_Lev_Cpnr_Sum.L4 - dbo.V_Verk_Cpnr_sum.V4, dbo.V_Lev_Cpnr_Sum.L4) AS S4,
ISNULL(dbo.V_Lev_Cpnr_Sum.L5 - dbo.V_Verk_Cpnr_sum.V5, dbo.V_Lev_Cpnr_Sum.L5) AS S5,
ISNULL(dbo.V_Lev_Cpnr_Sum.L6 - dbo.V_Verk_Cpnr_sum.V6, dbo.V_Lev_Cpnr_Sum.L6) AS S6,
ISNULL(dbo.V_Lev_Cpnr_Sum.L7 - dbo.V_Verk_Cpnr_sum.V7, dbo.V_Lev_Cpnr_Sum.L7) AS S7,
ISNULL(dbo.V_Lev_Cpnr_Sum.L8 - dbo.V_Verk_Cpnr_sum.V8, dbo.V_Lev_Cpnr_Sum.L8) AS S8,
ISNULL(dbo.V_Lev_Cpnr_Sum.L9 - dbo.V_Verk_Cpnr_sum.V9, dbo.V_Lev_Cpnr_Sum.L9) AS S9,
ISNULL(dbo.V_Lev_Cpnr_Sum.L10 - dbo.V_Verk_Cpnr_sum.V10, dbo.V_Lev_Cpnr_Sum.L10) AS S10,
ISNULL(dbo.V_Lev_Cpnr_Sum.L11 - dbo.V_Verk_Cpnr_sum.V11, dbo.V_Lev_Cpnr_Sum.L11) AS S11,
ISNULL(dbo.V_Lev_Cpnr_Sum.L12 - dbo.V_Verk_Cpnr_sum.V12, dbo.V_Lev_Cpnr_Sum.L12) AS S12,
ISNULL(dbo.V_Lev_Cpnr_Sum.L13 - dbo.V_Verk_Cpnr_sum.V13, dbo.V_Lev_Cpnr_Sum.L13) AS S13,
ISNULL(dbo.V_Lev_Cpnr_Sum.L14 - dbo.V_Verk_Cpnr_sum.V14, dbo.V_Lev_Cpnr_Sum.L14) AS S14,
ISNULL(dbo.V_Lev_Cpnr_Sum.L15 - dbo.V_Verk_Cpnr_sum.V15, dbo.V_Lev_Cpnr_Sum.L15) AS S15,
ISNULL(dbo.V_Lev_Cpnr_Sum.L16 - dbo.V_Verk_Cpnr_sum.V16, dbo.V_Lev_Cpnr_Sum.L16) AS S16,
ISNULL(dbo.V_Lev_Cpnr_Sum.L17 - dbo.V_Verk_Cpnr_sum.V17, dbo.V_Lev_Cpnr_Sum.L17) AS S17,
ISNULL(dbo.V_Lev_Cpnr_Sum.L18 - dbo.V_Verk_Cpnr_sum.V18, dbo.V_Lev_Cpnr_Sum.L18) AS S18,
ISNULL(dbo.V_Lev_Cpnr_Sum.L19 - dbo.V_Verk_Cpnr_sum.V19, dbo.V_Lev_Cpnr_Sum.L19) AS S19,
ISNULL(dbo.V_Lev_Cpnr_Sum.L20 - dbo.V_Verk_Cpnr_sum.V20, dbo.V_Lev_Cpnr_Sum.L20) AS S20,
ISNULL(dbo.V_Lev_Cpnr_Sum.L21 - dbo.V_Verk_Cpnr_sum.V21, dbo.V_Lev_Cpnr_Sum.L21) AS S21,
ISNULL(dbo.V_Lev_Cpnr_Sum.L22 - dbo.V_Verk_Cpnr_sum.V22, dbo.V_Lev_Cpnr_Sum.L22) AS S22,
ISNULL(dbo.V_Lev_Cpnr_Sum.L23 - dbo.V_Verk_Cpnr_sum.V23, dbo.V_Lev_Cpnr_Sum.L23) AS S23,
ISNULL(dbo.V_Lev_Cpnr_Sum.L24 - dbo.V_Verk_Cpnr_sum.V24, dbo.V_Lev_Cpnr_Sum.L24) AS S24,
ISNULL(dbo.V_Lev_Cpnr_Sum.L25 - dbo.V_Verk_Cpnr_sum.V25, dbo.V_Lev_Cpnr_Sum.L25) AS S25,
(dbo.V_Lev_Cpnr_Sum.L1 - ISNULL(dbo.V_Verk_Cpnr_sum.V1, 0)) * ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.Ap1)
* dbo.FMseasons.Afschrijving / 100) + (dbo.V_Lev_Cpnr_Sum.L2 - ISNULL(dbo.V_Verk_Cpnr_sum.V2, 0))
* ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.Ap2) * dbo.FMseasons.Afschrijving / 100)
+ (dbo.V_Lev_Cpnr_Sum.L3 - ISNULL(dbo.V_Verk_Cpnr_sum.V3, 0)) * ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.Ap3)
* dbo.FMseasons.Afschrijving / 100) + (dbo.V_Lev_Cpnr_Sum.L4 - ISNULL(dbo.V_Verk_Cpnr_sum.V4, 0))
* ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.Ap4) * dbo.FMseasons.Afschrijving / 100)
+ (dbo.V_Lev_Cpnr_Sum.L5 - ISNULL(dbo.V_Verk_Cpnr_sum.V5, 0)) * ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.Ap5)
* dbo.FMseasons.Afschrijving / 100) + (dbo.V_Lev_Cpnr_Sum.L6 - ISNULL(dbo.V_Verk_Cpnr_sum.V6, 0))
* ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.Ap6) * dbo.FMseasons.Afschrijving / 100)
+ (dbo.V_Lev_Cpnr_Sum.L7 - ISNULL(dbo.V_Verk_Cpnr_sum.V7, 0)) * ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.Ap7)
* dbo.FMseasons.Afschrijving / 100) + (dbo.V_Lev_Cpnr_Sum.L8 - ISNULL(dbo.V_Verk_Cpnr_sum.V8, 0))
* ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.AP8) * dbo.FMseasons.Afschrijving / 100)
+ (dbo.V_Lev_Cpnr_Sum.L9 - ISNULL(dbo.V_Verk_Cpnr_sum.V9, 0)) * ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.Ap9)
* dbo.FMseasons.Afschrijving / 100) + (dbo.V_Lev_Cpnr_Sum.L10 - ISNULL(dbo.V_Verk_Cpnr_sum.V10, 0))
* ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.Ap10) * dbo.FMseasons.Afschrijving / 100)
+ (dbo.V_Lev_Cpnr_Sum.L11 - ISNULL(dbo.V_Verk_Cpnr_sum.V11, 0)) * ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.Ap11)
* dbo.FMseasons.Afschrijving / 100) + (dbo.V_Lev_Cpnr_Sum.L12 - ISNULL(dbo.V_Verk_Cpnr_sum.V12, 0))
* ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.Ap12) * dbo.FMseasons.Afschrijving / 100)
+ (dbo.V_Lev_Cpnr_Sum.L13 - ISNULL(dbo.V_Verk_Cpnr_sum.V13, 0)) * ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.Ap13)
* dbo.FMseasons.Afschrijving / 100) + (dbo.V_Lev_Cpnr_Sum.L14 - ISNULL(dbo.V_Verk_Cpnr_sum.V14, 0))
* ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.Ap14) * dbo.FMseasons.Afschrijving / 100)
+ (dbo.V_Lev_Cpnr_Sum.L15 - ISNULL(dbo.V_Verk_Cpnr_sum.V15, 0)) * ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.Ap15)
* dbo.FMseasons.Afschrijving / 100) + (dbo.V_Lev_Cpnr_Sum.L16 - ISNULL(dbo.V_Verk_Cpnr_sum.V16, 0))
* ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.Ap16) * dbo.FMseasons.Afschrijving / 100)
+ (dbo.V_Lev_Cpnr_Sum.L17 - ISNULL(dbo.V_Verk_Cpnr_sum.V17, 0)) * ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.Ap17)
* dbo.FMseasons.Afschrijving / 100) + (dbo.V_Lev_Cpnr_Sum.L18 - ISNULL(dbo.V_Verk_Cpnr_sum.V18, 0))
* ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.Ap18) * dbo.FMseasons.Afschrijving / 100)
+ (dbo.V_Lev_Cpnr_Sum.L19 - ISNULL(dbo.V_Verk_Cpnr_sum.V19, 0)) * ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.Ap19)
* dbo.FMseasons.Afschrijving / 100) + (dbo.V_Lev_Cpnr_Sum.L20 - ISNULL(dbo.V_Verk_Cpnr_sum.V20, 0))
* ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.Ap20) * dbo.FMseasons.Afschrijving / 100)
+ (dbo.V_Lev_Cpnr_Sum.L21 - ISNULL(dbo.V_Verk_Cpnr_sum.V21, 0)) * ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.Ap21)
* dbo.FMseasons.Afschrijving / 100) + (dbo.V_Lev_Cpnr_Sum.L22 - ISNULL(dbo.V_Verk_Cpnr_sum.V22, 0))
* ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.Ap22) * dbo.FMseasons.Afschrijving / 100)
+ (dbo.V_Lev_Cpnr_Sum.L23 - ISNULL(dbo.V_Verk_Cpnr_sum.V23, 0)) * ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.Ap23)
* dbo.FMseasons.Afschrijving / 100) + (dbo.V_Lev_Cpnr_Sum.L24 - ISNULL(dbo.V_Verk_Cpnr_sum.V24, 0))
* ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.Ap24) * dbo.FMseasons.Afschrijving / 100)
+ (dbo.V_Lev_Cpnr_Sum.L25 - ISNULL(dbo.V_Verk_Cpnr_sum.V25, 0)) * ((dbo.FMartikels.Aankoopprijs + dbo.FMartikels.Ap25)
* dbo.FMseasons.Afschrijving / 100) AS TWS, dbo.FMcategories.Description AS CatOmschr, dbo.FMmodels.Description AS ModelOmschr,
dbo.FMspecifications.Description AS SpecOmschr, dbo.FMartikels.Kwaliteit, dbo.FMquality.Description AS KwalOmschr,
dbo.FMcolors.Description AS KleurOmschr, dbo.FMsexe.Description AS SexeOmschr, dbo.FMshops.Name AS WinkelOmschr,
dbo.FMcodes.Description AS KodeOmschr, dbo.FMartikels.Model, dbo.FMartikels.Specificatie, ISNULL(dbo.V_Verk_Cpnr_sum.V1, 0) AS V1,
ISNULL(dbo.V_Verk_Cpnr_sum.V2, 0) AS V2, ISNULL(dbo.V_Verk_Cpnr_sum.V3, 0) AS V3, ISNULL(dbo.V_Verk_Cpnr_sum.V4, 0) AS V4,
ISNULL(dbo.V_Verk_Cpnr_sum.V5, 0) AS V5, ISNULL(dbo.V_Verk_Cpnr_sum.V6, 0) AS V6, ISNULL(dbo.V_Verk_Cpnr_sum.V7, 0) AS V7,
ISNULL(dbo.V_Verk_Cpnr_sum.V8, 0) AS V8, ISNULL(dbo.V_Verk_Cpnr_sum.V9, 0) AS V9, ISNULL(dbo.V_Verk_Cpnr_sum.V10, 0) AS V10,
ISNULL(dbo.V_Verk_Cpnr_sum.V11, 0) AS V11, ISNULL(dbo.V_Verk_Cpnr_sum.V12, 0) AS V12, ISNULL(dbo.V_Verk_Cpnr_sum.V13, 0) AS V13,
ISNULL(dbo.V_Verk_Cpnr_sum.V14, 0) AS V14, ISNULL(dbo.V_Verk_Cpnr_sum.V15, 0) AS V15, ISNULL(dbo.V_Verk_Cpnr_sum.V16, 0) AS V16,
ISNULL(dbo.V_Verk_Cpnr_sum.V17, 0) AS V17, ISNULL(dbo.V_Verk_Cpnr_sum.V18, 0) AS V18, ISNULL(dbo.V_Verk_Cpnr_sum.V19, 0) AS V19,
ISNULL(dbo.V_Verk_Cpnr_sum.V20, 0) AS V20, ISNULL(dbo.V_Verk_Cpnr_sum.V21, 0) AS V21, ISNULL(dbo.V_Verk_Cpnr_sum.V22, 0) AS V22,
ISNULL(dbo.V_Verk_Cpnr_sum.V23, 0) AS V23, ISNULL(dbo.V_Verk_Cpnr_sum.V24, 0) AS V24, ISNULL(dbo.V_Verk_Cpnr_sum.V25, 0) AS V25,
ISNULL(dbo.V_Verk_Cpnr_sum.V1, 0) + ISNULL(dbo.V_Verk_Cpnr_sum.V2, 0) + ISNULL(dbo.V_Verk_Cpnr_sum.V3, 0)
+ ISNULL(dbo.V_Verk_Cpnr_sum.V4, 0) + ISNULL(dbo.V_Verk_Cpnr_sum.V5, 0) + ISNULL(dbo.V_Verk_Cpnr_sum.V6, 0)
+ ISNULL(dbo.V_Verk_Cpnr_sum.V7, 0) + ISNULL(dbo.V_Verk_Cpnr_sum.V8, 0) + ISNULL(dbo.V_Verk_Cpnr_sum.V9, 0)
+ ISNULL(dbo.V_Verk_Cpnr_sum.V10, 0) + ISNULL(dbo.V_Verk_Cpnr_sum.V11, 0) + ISNULL(dbo.V_Verk_Cpnr_sum.V12, 0)
+ ISNULL(dbo.V_Verk_Cpnr_sum.V13, 0) + ISNULL(dbo.V_Verk_Cpnr_sum.V14, 0) + ISNULL(dbo.V_Verk_Cpnr_sum.V15, 0)
+ ISNULL(dbo.V_Verk_Cpnr_sum.V16, 0) + ISNULL(dbo.V_Verk_Cpnr_sum.V17, 0) + ISNULL(dbo.V_Verk_Cpnr_sum.V18, 0)
+ ISNULL(dbo.V_Verk_Cpnr_sum.V19, 0) + ISNULL(dbo.V_Verk_Cpnr_sum.V20, 0) + ISNULL(dbo.V_Verk_Cpnr_sum.V21, 0)
+ ISNULL(dbo.V_Verk_Cpnr_sum.V22, 0) + ISNULL(dbo.V_Verk_Cpnr_sum.V23, 0) + ISNULL(dbo.V_Verk_Cpnr_sum.V24, 0)
+ ISNULL(dbo.V_Verk_Cpnr_sum.V25, 0) AS TSV, ISNULL(dbo.V_Verk_Cpnr_sum.V1, 0) * (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp1)
+ ISNULL(dbo.V_Verk_Cpnr_sum.V2, 0) * (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp2) + ISNULL(dbo.V_Verk_Cpnr_sum.V3, 0)
* (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp3) + ISNULL(dbo.V_Verk_Cpnr_sum.V4, 0) * (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp4)
+ ISNULL(dbo.V_Verk_Cpnr_sum.V5, 0) * (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp5) + ISNULL(dbo.V_Verk_Cpnr_sum.V6, 0)
* (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp6) + ISNULL(dbo.V_Verk_Cpnr_sum.V7, 0) * (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp7)
+ ISNULL(dbo.V_Verk_Cpnr_sum.V8, 0) * (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp8) + ISNULL(dbo.V_Verk_Cpnr_sum.V9, 0)
* (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp9) + ISNULL(dbo.V_Verk_Cpnr_sum.V10, 0) * (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp10)
+ ISNULL(dbo.V_Verk_Cpnr_sum.V11, 0) * (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp11) + ISNULL(dbo.V_Verk_Cpnr_sum.V12, 0)
* (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp12) + ISNULL(dbo.V_Verk_Cpnr_sum.V13, 0) * (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp13)
+ ISNULL(dbo.V_Verk_Cpnr_sum.V14, 0) * (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp14) + ISNULL(dbo.V_Verk_Cpnr_sum.V15, 0)
* (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp15) + ISNULL(dbo.V_Verk_Cpnr_sum.V16, 0) * (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp16)
+ ISNULL(dbo.V_Verk_Cpnr_sum.V17, 0) * (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp17) + ISNULL(dbo.V_Verk_Cpnr_sum.V18, 0)
* (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp18) + ISNULL(dbo.V_Verk_Cpnr_sum.V19, 0) * (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp19)
+ ISNULL(dbo.V_Verk_Cpnr_sum.V20, 0) * (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp20) + ISNULL(dbo.V_Verk_Cpnr_sum.V21, 0)
* (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp21) + ISNULL(dbo.V_Verk_Cpnr_sum.V22, 0) * (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp22)
+ ISNULL(dbo.V_Verk_Cpnr_sum.V23, 0) * (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp23) + ISNULL(dbo.V_Verk_Cpnr_sum.V24, 0)
* (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp24) + ISNULL(dbo.V_Verk_Cpnr_sum.V25, 0) * (dbo.FMartikels.Verkoopprijs + dbo.FMartikels.Vp25)
AS TWV, dbo.V_Lev_Cpnr_Sum.LeveringWinkel AS WinkelNr, dbo.V_Lev_Cpnr_Sum.L1 - ISNULL(dbo.V_Verk_Cpnr_sum.V1, 0)
+ dbo.V_Lev_Cpnr_Sum.L2 - ISNULL(dbo.V_Verk_Cpnr_sum.V2, 0) + dbo.V_Lev_Cpnr_Sum.L3 - ISNULL(dbo.V_Verk_Cpnr_sum.V3, 0)
+ dbo.V_Lev_Cpnr_Sum.L4 - ISNULL(dbo.V_Verk_Cpnr_sum.V4, 0) + dbo.V_Lev_Cpnr_Sum.L5 - ISNULL(dbo.V_Verk_Cpnr_sum.V5, 0)
+ dbo.V_Lev_Cpnr_Sum.L6 - ISNULL(dbo.V_Verk_Cpnr_sum.V6, 0) + dbo.V_Lev_Cpnr_Sum.L7 - ISNULL(dbo.V_Verk_Cpnr_sum.V7, 0)
+ dbo.V_Lev_Cpnr_Sum.L8 - ISNULL(dbo.V_Verk_Cpnr_sum.V8, 0) + dbo.V_Lev_Cpnr_Sum.L9 - ISNULL(dbo.V_Verk_Cpnr_sum.V9, 0)
+ dbo.V_Lev_Cpnr_Sum.L10 - ISNULL(dbo.V_Verk_Cpnr_sum.V10, 0) + dbo.V_Lev_Cpnr_Sum.L11 - ISNULL(dbo.V_Verk_Cpnr_sum.V11, 0)
+ dbo.V_Lev_Cpnr_Sum.L12 - ISNULL(dbo.V_Verk_Cpnr_sum.V12, 0) + dbo.V_Lev_Cpnr_Sum.L13 - ISNULL(dbo.V_Verk_Cpnr_sum.V13, 0)
+ dbo.V_Lev_Cpnr_Sum.L14 - ISNULL(dbo.V_Verk_Cpnr_sum.V14, 0) + dbo.V_Lev_Cpnr_Sum.L15 - ISNULL(dbo.V_Verk_Cpnr_sum.V15, 0)
+ dbo.V_Lev_Cpnr_Sum.L16 - ISNULL(dbo.V_Verk_Cpnr_sum.V16, 0) + dbo.V_Lev_Cpnr_Sum.L17 - ISNULL(dbo.V_Verk_Cpnr_sum.V17, 0)
+ dbo.V_Lev_Cpnr_Sum.L18 - ISNULL(dbo.V_Verk_Cpnr_sum.V18, 0) + dbo.V_Lev_Cpnr_Sum.L19 - ISNULL(dbo.V_Verk_Cpnr_sum.V19, 0)
+ dbo.V_Lev_Cpnr_Sum.L20 - ISNULL(dbo.V_Verk_Cpnr_sum.V20, 0) + dbo.V_Lev_Cpnr_Sum.L21 - ISNULL(dbo.V_Verk_Cpnr_sum.V21, 0)
+ dbo.V_Lev_Cpnr_Sum.L22 - ISNULL(dbo.V_Verk_Cpnr_sum.V22, 0) + dbo.V_Lev_Cpnr_Sum.L23 - ISNULL(dbo.V_Verk_Cpnr_sum.V23, 0)
+ dbo.V_Lev_Cpnr_Sum.L24 - ISNULL(dbo.V_Verk_Cpnr_sum.V24, 0) + dbo.V_Lev_Cpnr_Sum.L25 - ISNULL(dbo.V_Verk_Cpnr_sum.V25, 0) AS TSS,
dbo.FMartikels.LevModelOmschr, ISNULL(dbo.FMseasons.ZWkode, N'X') AS ZWkode, dbo.FMartikels.InterneRef
FROM dbo.FMcategories INNER JOIN
dbo.FMseasons INNER JOIN
dbo.FMartikels INNER JOIN
dbo.V_Lev_Cpnr_Sum ON dbo.FMartikels.CpNr = dbo.V_Lev_Cpnr_Sum.CpNr INNER JOIN
dbo.FMmerken ON dbo.FMartikels.Merk = dbo.FMmerken.ID INNER JOIN
dbo.FMgroups ON dbo.FMartikels.Groep = dbo.FMgroups.ID ON dbo.FMseasons.ID = dbo.FMartikels.Seizoen INNER JOIN
dbo.FMmatenbalken ON dbo.FMartikels.Matenbalk = dbo.FMmatenbalken.ID ON dbo.FMcategories.ID = dbo.FMartikels.Categorie INNER JOIN
dbo.FMmodels ON dbo.FMartikels.Model = dbo.FMmodels.ID INNER JOIN
dbo.FMspecifications ON dbo.FMartikels.Specificatie = dbo.FMspecifications.ID INNER JOIN
dbo.FMquality ON dbo.FMartikels.Kwaliteit = dbo.FMquality.ID INNER JOIN
dbo.FMcolors ON dbo.FMartikels.Kleur = dbo.FMcolors.ID INNER JOIN
dbo.FMsexe ON dbo.FMartikels.Sexe = dbo.FMsexe.ID INNER JOIN
dbo.FMshops ON dbo.FMartikels.Winkel = dbo.FMshops.ID INNER JOIN
dbo.FMcodes ON dbo.FMartikels.Kode = dbo.FMcodes.ID LEFT OUTER JOIN
dbo.V_Verk_Cpnr_sum ON dbo.FMartikels.CpNr = dbo.V_Verk_Cpnr_sum.CpNr AND
dbo.V_Lev_Cpnr_Sum.LeveringWinkel = dbo.V_Verk_Cpnr_sum.VerkoopWinkel
ORDER BY dbo.FMartikels.Merk, dbo.FMartikels.Groep |
Hebben jullie nog suggesties? Ik kan wel niets wijzigen aan de Query's zelf, ben geen programmeur. Maar de programmeur in kwestie heeft er zich vanaf gemaakt door te stellen dat als hij het test op een andere machine ( ik stond ernaast ) effectief pakken sneller is.
Ik ben nu echt aan het einde van mijn beperkt SQL kennis.
Computers make very fast, very accurate mistakes.