Yes, gaps and cluster-groups with lots of rows can happen, just like with identities. But a TOP operator will limit the rows and make sure you never do so many that you escalate to a table lock. And if you do a range that has few to no rows it will finish in a flash and you can advance to the next range. Something like this works, and gets index seeks without a convert. Note I am doing this from memory and am jet lagged. :hehe:
where myGUIDField >= '00000000-0000-0000-0000-000000000000'
and myGUIDField < '00000000-0000-0000-0000-000FFFFFFFFF'
where myGUIDField >= '00000000-0000-0000-0000-000FFFFFFFFF'
and myGUIDField < '00000000-0000-0000-0000-00FFFFFFFFFF'
Best,
Kevin G. Boles
SQL Server Consultant
SQL MVP 2007-2012
TheSQLGuru on googles mail service