Heim >Backend-Entwicklung >Golang >Vergleich der Verwendung von Query, Exec und Prepare in Go SQL (mit Netzwerkpaketerfassung)

Vergleich der Verwendung von Query, Exec und Prepare in Go SQL (mit Netzwerkpaketerfassung)

藏色散人
藏色散人nach vorne
2020-09-18 09:15:025354Durchsuche

Die folgende Kolumne stellt Ihnen den Verwendungsvergleich von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Go SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung) aus der Kolumne Vergleich der Verwendung von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Go SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung)lang-Tutorial vor. Ich hoffe, dass es für Freunde in Not hilfreich sein wird!


Vergleich der Verwendung von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Go SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung)

Die mit Vergleich der Verwendung von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Go SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung) gelieferte Datenbank-/SQL-Bibliothek kann mit jeder relationalen Datenbank kommunizieren. Um einige der zugrunde liegenden Komplexitäten der Verknüpfung mit der Datenbank und der Verwaltung des Verbindungspools zu abstrahieren, werden die APIs ein wenig offengelegt Dies führt letztendlich dazu, dass ich etwas Fantasie habe, wie man diese APIs verwendet. Daher werde ich versuchen, das Verhalten bei der Verwendung der bisher bekannten Haupt-APIs zu analysieren der Host (

ubuntu

) und ein

MySQL

-Server, der eine Vergleich der Verwendung von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Go SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung)-Anwendung zum Experimentieren ausführt. )Query

Wann immer wir es tun Sie sollten bei der Auswahl immer db.Query

verwenden, und wir sollten uns nie um die von Query zurückgegebenen Zeilen kümmern, sondern darüber iterieren (

andernfalls verlieren wir den Datenbanklink). )

Ausführen

Abfrage(Abfrage) Keine vorbereiteten Anweisungen verwenden (siehe Wireshark-Erfassung unten) Beachten Sie, dass nur 1 TCP-Anfrage vom Client an den Server gesendet wurde (abzüglich der Anmeldung) Der Link wird automatisch wieder freigegeben wenn wir über den zurückgegebenen Zeilenpool iterieren, oder wir können rows.Close() explizit aufrufen, wenn wir fertig sind

Verwendung — db.Query(“in Artikel einfügen (Name, Preis, Beschreibung) Werte('brownie', 240, 'sizzling ') )

  • Sehen Sie sich die Wireshark-Erfassung (Abfrage) an an die Serveranfrage (ohne Anmeldung)
  • Wenn die zurückgegebenen Zeilen iteriert wurden, wird der Link automatisch wieder in den Pool freigegeben, oder wir können rows.Close() explizit aufrufen, wenn Sie fertig sind. Query("in Artikel einfügen (Name, Preis, Beschreibung) Werte(?,?,?)", "Brownie", 240, "sizzling")

Vergleich der Verwendung von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Go SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung)

Query(Query, Parameter) Wireshark Capture

Exec Wann immer wir

insert
    oder
  • update
  • oder
  • delete
  • ausführen wollen, sollten wir immer
  • db.Exec verwenden.
  • Execute
Exec(query)

verwendet keine vorbereiteten Anweisungen, ist also nicht der Fall nützlich für SQL Server. Weniger TCP-Aufrufe. Vergleich der Verwendung von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Go SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung)

Beachten Sie, dass nur 1 TCP-Anfrage vom Client an den Server gesendet wird (abzüglich der Anmeldung).

Link automatisch zurück zum Pool freigeben (Name, Preis, Beschreibung) Werte('Brownie', 240, 'Sizzling')") Anweisungen hinter den Kulissen, sodass es mehr TCP-Aufrufe an SQL Server geben wird.

Beachten Sie, dass 3 TCP-Anfragen vom Client an den Server gesendet werden (abzüglich Anmeldung).

Der Freigabelink kehrt automatisch zum Pool zurück.Verwendung — db.Exec( „in Artikel (Name, Preis, Beschreibung) Werte einfügen (?,?,?)“, „brownie“, 240, „sizzling“)

Exec(query, params) Wireshark Capture

    Prepare
  • Diese Methode sollte nur verwendet werden, wenn unser Programm einmal zu Beginn vorbereitet und N-mal während der Programmausführung ausgeführt werden soll.
  • Beachten Sie, dass 2 TCP-Anfragen vom Client an gesendet werden Server (Login nicht zählen)
  • Wir müssen die Anweisung explizit schließen, wenn wir keine vorbereiteten Anweisungen benötigen.
Andernfalls können wir die auf dem Client und Server zugewiesenen Ressourcen nicht freigeben!

Vergleich der Verwendung von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Vergleich der Verwendung von Query, Exec und Prepare in Go SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung) SQL (mit Netzwerkpaketerfassung)

Nutzung –

stmt.Exec(“in Artikel einfügen (Name, Preis, Beschreibung) Werte(?,?,?)“, „Brownie“, 240, „Sizzling“)

  • Wireshark-Erfassung vorbereiten (abfragen)
  • Fazit: SQL zum ersten Mal verwenden Eine der größten Verwirrungen, die uns bei der Verwendung eines Pakets begegnen, ist, dass wir nicht wissen, dass es hinter den Kulissen vorbereitete Anweisungen erstellt, auch wenn wir nicht ausdrücklich dazu aufgefordert werden
  • Hoffentlich klären die obigen Punkte, wann auf vorbereitete Aussagen zurückgegriffen wird und wie wir sie vermeiden können.
    Hoffentlich klären die oben genannten Punkte, wann auf vorbereitete Aussagen zurückgegriffen wird und wie wir sie vermeiden können.

Das obige ist der detaillierte Inhalt vonVergleich der Verwendung von Query, Exec und Prepare in Go SQL (mit Netzwerkpaketerfassung). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen