SQL Server - High Performance Record Comparison Scenario : I have a collection of records to be inserted/updated into a table. Each record before getting inserted/updated in the table must be checked with the other rows in the table so as to find whether the same record already exists. 

Currently used logic : Used the concept of cursor in an SQL server stored procedure to compare each record with every other record in the table before insertion/updation.

Limitations : As the number of records increases in the target table, performance is considerably decreased.

Can I get a better solution than what I have used?
Have you looked at using the Merge command, this was introduced in SQL Server 2008 and does an update or insert based on your matching criteria. 

I use this for merging XML quite a lot and it seems very efficient.

MERGE [Database] AS TargetTABLE
USING (SELECT @Var1 AS [Value1]
    @Var2 AS [Value2], 
    @Var3 AS [Value3]) AS SourceTABLE
ON TargetTABLE.[id] = SourceTABLE.[Value1]
WHEN MATCHED THEN
    UPDATE SET TargetTABLE.[Value2] = SourceTABLE.[Value2],
        TargetTABLE.[Value3] = SourceTABLE.[Value3]
WHEN NOT MATCHED THEN
    INSERT (
        [id], 
        [Value1],
        [Value2],
        [Value3])
    VALUES (
        SourceTABLE.[Value1], 
        SourceTABLE.[Value2],
        SourceTABLE.[Value3]
    );


Merge Command