2 hours seems ridiculously slow (not quite 10 updates per second). Can someone else using SQL Server via DBD::Sybase comment on whether that's an expected speed?
But surely there's some bulk loader you could use instead, if it really takes that long?
A lack of a proper index was the cause of his really slow query, which is what a rate of 10 updates per second indeed points to.
Even when the OP is happy now, with an index, method 2 should be faster still. And the difference should be more visible, since less time is spent inside the DB.