Hallo,
Ik heb een query die vanaf een aantal nummer van joins niets meer doet.
Bv, 18 joins, query werkt perfect (output in minder dan 1s). Zet ik er 1 join bij doet die niets meer (output langer dan 30 minuten).
SQL zelf heeft een limiet van 256 joins ofzo, hoe komt het dat ik zo snel al in de problemen geraak?
Database zelf is helemaal niet zo groot (paar duizend rijen in totaal).
Voorbeeld query: (test query dus niet de query zelf)
Zo werkt die dus in minder dan 1s, uncomment ik een van de onderste 2 joins of voeg ik een andere join toe dan doet die niets meer.
Iemand ideeen hoe dit op te lossen?
Moet echt veel namen tonen van veel tabellen... (is voor een rapport te genereren)
Ik heb een query die vanaf een aantal nummer van joins niets meer doet.
Bv, 18 joins, query werkt perfect (output in minder dan 1s). Zet ik er 1 join bij doet die niets meer (output langer dan 30 minuten).
SQL zelf heeft een limiet van 256 joins ofzo, hoe komt het dat ik zo snel al in de problemen geraak?
Database zelf is helemaal niet zo groot (paar duizend rijen in totaal).
Voorbeeld query: (test query dus niet de query zelf)
SQL: testQuery.sql
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
| SELECT P.Name + ' ' + P.FirstName AS Employee FROM HR_TimeSheetDetail TSD INNER JOIN VEH_CostCentrale CC ON CC.ID = TSD.ExecutingStructureID INNER JOIN HR_TimeSheet TS ON TS.ID = TSD.TimeSheetID INNER JOIN VEH_Transport TR ON TR.ID = TSD.VehicleTask INNER JOIN VEH_Vehicle VEH ON VEH.ID = TR.VehicleID LEFT JOIN VEH_Vehicle TRAILER ON TRAILER.ID = TR.TrailerID INNER JOIN VEH_VehicleType VTYPE ON VTYPE.ID = VEH.VehicleTypeID INNER JOIN HR_HEI_Employee EMP ON EMP.ID = TS.EmployeeID INNER JOIN COM_Person P ON P.ID = EMP.PersonID INNER JOIN COM_Site SITEMP ON SITEMP.ID = EMP.SiteID INNER JOIN COM_Site SIT01 ON SIT01.ID = EMP.SiteID INNER JOIN COM_Site SIT02 ON SIT02.ID = EMP.SiteID INNER JOIN COM_Site SIT03 ON SIT03.ID = EMP.SiteID INNER JOIN COM_Site SIT04 ON SIT04.ID = EMP.SiteID INNER JOIN COM_Site SIT05 ON SIT05.ID = EMP.SiteID INNER JOIN COM_Site SIT06 ON SIT06.ID = EMP.SiteID INNER JOIN COM_Site SIT07 ON SIT07.ID = EMP.SiteID INNER JOIN COM_Site SIT08 ON SIT08.ID = EMP.SiteID INNER JOIN COM_Site SIT09 ON SIT09.ID = EMP.SiteID INNER JOIN COM_Site SIT10 ON SIT10.ID = EMP.SiteID INNER JOIN COM_Site SIT11 ON SIT11.ID = EMP.SiteID INNER JOIN COM_Site SIT12 ON SIT12.ID = EMP.SiteID INNER JOIN COM_Site SIT13 ON SIT13.ID = EMP.SiteID INNER JOIN COM_Site SIT14 ON SIT14.ID = EMP.SiteID INNER JOIN COM_Site SIT15 ON SIT15.ID = EMP.SiteID INNER JOIN COM_Site SIT16 ON SIT16.ID = EMP.SiteID INNER JOIN COM_Site SIT17 ON SIT17.ID = EMP.SiteID INNER JOIN COM_Site SIT18 ON SIT18.ID = EMP.SiteID INNER JOIN COM_Site SIT19 ON SIT19.ID = EMP.SiteID INNER JOIN COM_Site SIT20 ON SIT20.ID = EMP.SiteID --INNER JOIN COM_Site SIT21 ON SIT21.ID = EMP.SiteID --INNER JOIN COM_Site SIT22 ON SIT22.ID = EMP.SiteID |
Zo werkt die dus in minder dan 1s, uncomment ik een van de onderste 2 joins of voeg ik een andere join toe dan doet die niets meer.
Iemand ideeen hoe dit op te lossen?
Moet echt veel namen tonen van veel tabellen... (is voor een rapport te genereren)