Ho esperienza del server ms-sql con segnalazione di query su un database (replica in tempo reale) che riceve centinaia di righe al secondo.
La risposta breve sarà sempre "dipende"; la risposta può essere qualsiasi tra 1000 e 1150 (o anche 990 a 1160 se si esegue "Leggi non inviato" come menzionato da Robbie Dee)
in sql server una scansione della tabella, per impostazione predefinita, blocca le pagine mentre legge, assicurando che il riutilizzo della stessa riga non dia una risposta inconsistente. Scrive che si verificano dopo aver avviato la query, ma che coinvolgono una riga / pagina di dati che non hai ancora letto sarà visibile a te.
La regolazione del livello di isolamento può cambiare in 2 modi:
1) con isolamento 'snapshot', non vedrai le scritture che sono richieste dopo aver avviato la query. (ciò che accade alla scrittura dipende dal fatto che si abbia un database di controllo delle versioni delle righe, come oracle o sql-server con l'isolamento dello snapshot abilitato)
2) quando usi un permissivo "permetti letture sporche" Leggi non inviato (o una tabella "con (nolock)"), allora ciò che accade non è definito. in particolare possono verificarsi 3 scenari extra durante la lettura di una pagina intera che sta per essere suddivisa:
a) sei alla fine di una pagina e la nuova pagina è più avanti della scansione della tabella; leggerai tutte le righe copiate nella nuova pagina due volte. (potenziale violazione della chiave primaria nei risultati restituiti, o se si tratta di un aggiornamento, la stessa riga ha restituito due volte con dati diversi.)
b) sei all'inizio della pagina e la nuova pagina è indietro rispetto alla scansione della tabella corrente; le righe che vengono spostate dalla pagina corrente a quella nuova non verranno lette, con il risultato che le righe corrispondenti non vengono restituite.
c) la tua query di lettura non è una scansione di tabella, ma utilizza un indice, che contiene ID di riga: la modifica nella riga ID causata dalla divisione della pagina può comportare la modifica della riga e risultati che non corrispondono alla query essere restituito.
nota: in SQL Server quasi tutte le modifiche (inclusa l'eliminazione di righe) possono causare una suddivisione della pagina.