I have to insert data into table but only if it does not already exist.
I check for existing rows using:
IF EXISTS (SELECT 'X' FROM Table1 where id = @id)
Will the use of 'X' improve performance instead of using a column name?
No. You can use *,column name, NULL or even 1/0.
As per the ANSI standard, it should not be evaluated. Page 191 ANSI SQL 1992 Standard.
* is mentioned in MSDN
However, a better way is to use MERGE (SQL Server 2008) or simply catch the error. Previous SO answers from me: One, Two
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With