lucienschenk
Nieuwe gebruiker
- Lid geworden
- 9 dec 2007
- Berichten
- 2
hoi,
ik zoek (A) in tabel Activity, alle Activity records van 1 employee,
waar het veld Activity.employee_id = deze employee
en daarbij,
(B) als in een andere tabel (Employee_Activity ) staat dat ie zijdelings iets met een activiteit te maken heeft moeten die er ook staan.
tabel Activity 1.000.000 records,
tabel Employee_Activity leeg
zoek acties gecombineerd uitvoeren duurt minuten.
zoek actie (A) los is flits
zoek actie (B) los is flits
waarschijnlijk is de IN in de where een performance killer.
weet iemand een slimmere where clause?
tnx lucien
************************************************
select * from Activity
WHERE
(Activity.employee_id = '3b63a7f4-10e1-4149-adb2-3dd27a401371')
OR
(Activity.id IN (SELECT Employee_Activity.activity_id FROM Employee_Activity WHERE (Employee_Activity.employee_id = '3b63a7f4-10e1-4149-adb2-3dd27a401371' )))
ik zoek (A) in tabel Activity, alle Activity records van 1 employee,
waar het veld Activity.employee_id = deze employee
en daarbij,
(B) als in een andere tabel (Employee_Activity ) staat dat ie zijdelings iets met een activiteit te maken heeft moeten die er ook staan.
tabel Activity 1.000.000 records,
tabel Employee_Activity leeg
zoek acties gecombineerd uitvoeren duurt minuten.
zoek actie (A) los is flits
zoek actie (B) los is flits
waarschijnlijk is de IN in de where een performance killer.
weet iemand een slimmere where clause?
tnx lucien
************************************************
select * from Activity
WHERE
(Activity.employee_id = '3b63a7f4-10e1-4149-adb2-3dd27a401371')
OR
(Activity.id IN (SELECT Employee_Activity.activity_id FROM Employee_Activity WHERE (Employee_Activity.employee_id = '3b63a7f4-10e1-4149-adb2-3dd27a401371' )))