title: How to increase performance of this query?
body: <p>I have an SQL query, it is running on MSSQL 2008 R2
  View <code>vMobileLastMobileHistory</code> has about 1000 rows and 
  <code>select * from vMobileLastMobileHistory</code> is taking 0.2 sec</p>
  
  <p>but this query is taking 5 seconds, how can I optimize this code?
  (I think the problem is INTERSECT but I dont know how change this)</p>
  
  <pre><code>SELECT DISTINCT *
  FROM
      (
          SELECT  vMobileLastMobileHistory.* 
          FROM    vMobileLastMobileHistory
              LEFT OUTER JOIN MobileType_DomainAction ON 
                  MobileType_DomainAction.tiMobileType = vMobileLastMobileHistory.tiMobileType
          LEFT OUTER JOIN MobileType_User ON 
              MobileType_User.MobileID = MobileType_DomainAction.ID
          WHERE MobileType_User.UserID = @UserID OR @UserID = - 1 
  
          INTERSECT
  
          SELECT  vMobileLastMobileHistory.*  
          FROM    vMobileLastMobileHistory
              LEFT OUTER JOIN dbo.Region_User ON 
                  dbo.vMobileLastMobileHistory.strRegion = dbo.Region_User.strRegion
          WHERE Region_User.iSystemUser = @UserID OR @UserID = - 1
  
          INTERSECT
  
          SELECT vMobileLastMobileHistory.* 
          FROM vMobileLastMobileHistory
          LEFT OUTER JOIN Contractor_User ON 
              vMobileLastMobileHistory.strContractor = Contractor_User.strContractor
          WHERE Contractor_User.iSystemUser = @UserID OR @UserID = - 1
      )
  </code></pre>