I have multiple tables that I union together into a view. Each table has a check constraint on it for the same field but different value for each table. When I do a select on the view including the constraint field in the where clause the execution plan still shows all tables in the view being scanned. Shouldn't the existence of the constraint on the tables prevent SQL from needing to do a scan on the tables that don't contain the value I'm looking for in the check constraint field?