Wie viele Daten können im Netzwerkpuffer gespeichert werden, wenn der Datenleser verwendet wird

Alles, was wir wissen, ist, dass Datenleser wie folgt funktionieren

Der Datenleser liest jeweils einen Datensatz, aber er liest ihn aus dem zugrunde liegenden Datenbanktreiber. Der Datenbanktreiber liest Daten in Blöcken aus der Datenbank, normalerweise mit einem Puffer von 8 Kilobyte.

Wenn Ihre Ergebnisdatensätze klein sind und Sie nicht sehr viele erhalten, passen sie alle in den Puffer, und der Datenbanktreiber kann sie alle an den Datenleser weiterleiten, ohne die Datenbank nach weiteren Daten fragen zu müssen.

Wenn Sie ein Ergebnis abrufen, das größer als der Puffer ist, können Sie nur den ersten Teil davon lesen. Wenn im Netzwerkpuffer keine Daten vorhanden sind, informiert der Datenleser den SQL Server, den nächsten Datenblock zu senden.

Hier ist ein kleiner Code, wie wir den Datenleser verwenden
String selectString = "SELECT * FROM PRODUCT";  
    IList<client> clients = new List<client>();  
    using (var selectCommand = new OracleCommand(connection, selectString))  
    {  
        using (OracleDataReader selectReader = selectCommand.ExecuteReader())  
        {   
           if (selectReader.HasRows)  
           {  
               while (selectReader.Read())  
               {  
                   clientes.add( GetDomainObject(selectReader) );  
               }  
               selectReader.close();  
           }  
        }
    }  

Angenommen, die Tabelle PRODUCT enthält 10.000 Datensätze. Ich möchte wissen, wie viele Daten gleichzeitig im Netzwerkpuffer gespeichert werden können.

weil wenndatareader.ExecuteReader() wird anrufen, dann holt der Leser einen Datenblock und speichert ihn im Netzwerkpuffer in diesem PC. wanndatareader.read() ruft auf, dann werden einzelne Daten aus dem Puffer an den Leser weitergeleitet. Wenn alle gelesenen Daten aus dem Puffer gelesen werden, wird erneut ein Datenbankaufruf durchgeführt und der nächste Datenblock wird im Puffer gespeichert.

Ich bin nur neugierig zu wissen, wie viele Daten ein Datenleser im Puffer speichern kann, wenn Daten von DB abgerufen werden. Der Datenleser holt immer eine feste Anzahl von Zeilen aus der Datenbank und speichert sie im Puffer oder hängt sie von der Puffergröße ab?

puffergröße hängt davon ab was .... hängt es vom ram ab?

Besprechen Sie bitte nur die mit dem Netzwerkpuffer zusammenhängenden Dinge, da ich weiß, wie der Datenleser funktioniert. Vielen Dank

Antworten auf die Frage(1)

Ihre Antwort auf die Frage