Is ORDER BY on two indexed columns will be slow? I have multiple-field index on columns a,b,c,d and another unique index on column id. Is my query like below after adding id to ORDER BY slows large or i don't need to worry ? Query plan shows that sort get only 1%.

SELECT *
FROM
  (SELECT *,
          row_number() over (
                             ORDER BY a,b,c,d,id ) AS ROW
   FROM table1
   WHERE /* ... */) a
WHERE ROW &gt; 0
  AND ROW &lt;= 20000;
If ID is the clustered index, on SQL Server this index will have ID added as the last index key.

For a non-unique non-clustered index on a clustered index table the clustered index keys that aren't explicitly listed as non-clustered index keys will be added as additional non-clustered index keys. And the non-clustered index will actually be stored as a unique index.  EG your index on (a,b,c,d) is implemented as a unique index on (a,b,c,d,id).  

If the non-clustered index is unique, the clustered index keys will be present on the leaf level of the index, but will not be index keys.