I built a windows services application which should run 24 X 7, and the
system picks user defined parameter to perform scheduled work. My
scheduler will pick users settings (dataset) from database to perform
task; In order to keep my scheduler perform task when users setting
changed, I create a thread timer to retrieve schedule settings from
database and compare with my current running schedule task. If settings
changed, (by comparing each row values), the scheduler will stop
current processes and re-schedule new task.

My question is, instead of comparing dataset by rows, is there any
other better or efficient way, and how should it be?