I have a stored procedure that queries a database using a Select
statement with some inner joins and conditions. With over 9 million
records it takes 1 min 36 sec to complete. This is too slow for my
requirements.
Is there any way I can optimize this query. I have thought about
using an indexed view. I haven't done one before, does anyone know if
this would have potential to improve performance or indeed any other
performance enhancing techniques I might try.
SELECT vehicle.vehicle _id
FROM (( [vehicle]
INNER JOIN [vehicle_subj_it em_assn] on
vehicle.vehicle _id=[vehicle_subj_it em_assn].vehicle_id)
INNER JOIN [subj_item] on
[vehicle_subj_it em_assn].subj_item_id=[subj_item].subj_item_id)
INNER JOIN [template_field] on
[subj_item].subj_item_id=[template_field].subj_attr_id
WHERE
([template_field].template_field _id=@template_f ield_id) AND
([template_field].template_field _type_id=3) AND
([vehicle_subj_it em_assn].subj_item_valu e_text=@value) AND
(vehicle.end_dt m IS NOT NULL)
Thanks
Gavin
statement with some inner joins and conditions. With over 9 million
records it takes 1 min 36 sec to complete. This is too slow for my
requirements.
Is there any way I can optimize this query. I have thought about
using an indexed view. I haven't done one before, does anyone know if
this would have potential to improve performance or indeed any other
performance enhancing techniques I might try.
SELECT vehicle.vehicle _id
FROM (( [vehicle]
INNER JOIN [vehicle_subj_it em_assn] on
vehicle.vehicle _id=[vehicle_subj_it em_assn].vehicle_id)
INNER JOIN [subj_item] on
[vehicle_subj_it em_assn].subj_item_id=[subj_item].subj_item_id)
INNER JOIN [template_field] on
[subj_item].subj_item_id=[template_field].subj_attr_id
WHERE
([template_field].template_field _id=@template_f ield_id) AND
([template_field].template_field _type_id=3) AND
([vehicle_subj_it em_assn].subj_item_valu e_text=@value) AND
(vehicle.end_dt m IS NOT NULL)
Thanks
Gavin
Comment