How would you optimize a search algorithm to run in sub-linear time over a sorted but continuously updating dataset?