I was reading this post to understand how things are done in Sql Server: http://ift.tt/16JoAGK
If I understand it correctly, data is being sent to client as is being needed. Before we fetch next batch of data to the client, execution of query is suspended. If we do range scan then metadata about last returned row will be stored somewhere. What happens if in the meantime there is a page split and last returned row is on the new page? Is this possible? Does this operator/iterator (clustered index scan for example) holds latch on page whole time? This would be extremely inefficient, so Sql Server must have some other way to keep it in sync?
My question is - what metadata is stored and how does Sql Server keep it in sync?
Aucun commentaire:
Enregistrer un commentaire