Codeanalyse von Benutzervariablen in MySQL-Abfrageanweisungen

Codeanalyse von Benutzervariablen in MySQL-Abfrageanweisungen

Im vorherigen Artikel haben wir die MySQL-Optimierungszusammenfassung – Gesamtzahl der Abfragen – vorgestellt. In diesem Artikel stellen wir ein weiteres Wissen zu Abfrageanweisungen vor: die Codeanalyse von Benutzervariablen.

Beginnen wir mit dem Code

Wählen Sie `Hinweis`.`id`, `Hinweis`.`fid`, `Hinweis`.`has_read`, `Hinweis`.`Hinweis_time`, `Hinweis`.`read_time`, `f`.`fnum`, `f`.`forg`, `f`.`fdst`, `f`.`actual_parking` als `Parken`, `f`.`geplante_Abfahrtszeit`, `f`.`geschätzte_Abfahrtszeit`, `f`.`actual_Abfahrtszeit`, `f`.`geplante_Ankunftszeit`, `f`.`geschätzte_Ankunftszeit`, `f`.`actual_Ankunftszeit`, `f`.`is_vip`, `f`.`aoc_Hinweis`
AUS (
  wählen
  t.id, 
  t.fid, 
  t.hat_gelesen, 
  t.Benachrichtigungszeit, 
  t.Lesezeit
  aus
  (
    wählen
    Hilfe, 
    ein.fid, 
    a.hat_gelesen,
    a.Benachrichtigungszeit, 
    a.Lesezeit,
    @v_rownum := @v_rownum+1,
    wenn(@v_fid=a.fid,@v_rowid:=@v_rowid+1,@v_rowid:=1 ) als Zeilenanzahl,
    @v_fid:=a.fid
    aus
    (
      WÄHLEN
      Ausweis, 
      fid, 
      hat_gelesen, 
      Benachrichtigungszeit, 
      Lesezeit 
      VON vkm_user_notice_flight
      wobei „notice_type“ = „process_update“ und uid=82
      Sortieren nach FID, Hinweiszeit absteigend
    ) A,
    (
      wählen Sie @v_rownum:=0, @v_rowid:=0, @v_fid:=null
    ) B
  )
  wobei t.row_count = 1
) AS `Hinweis`
LEFT JOIN `vkm_flight` AS `f` ON `notice`.`fid` = `f`.`id`
LEFT JOIN `vkm_parking` AS `parking` ON `f`.`actual_parking` = `parking`.`parking_num`

Ein Freund hat mir auf der Arbeit eine solche SQL-Anweisung geschickt und ich war zunächst verwirrt und habe sie überhaupt nicht verstanden! Da ich mit MySQL nicht sehr vertraut bin und nur einfache Hinzufügungen, Löschungen und Änderungen vornehmen kann, ist der obige Code tatsächlich sehr direkt geschrieben.

Wählen Sie `Hinweis`.`id`, `Hinweis`.`fid`, `Hinweis`.`has_read`, `Hinweis`.`Hinweis_time`, `Hinweis`.`read_time`, `f`.`fnum`, `f`.`forg`, `f`.`fdst`, `f`.`actual_parking` als `Parken`, `f`.`geplante_Abfahrtszeit`, `f`.`geschätzte_Abfahrtszeit`, `f`.`actual_Abfahrtszeit`, `f`.`geplante_Ankunftszeit`, `f`.`geschätzte_Ankunftszeit`, `f`.`actual_Ankunftszeit`, `f`.`is_vip`, `f`.`aoc_Hinweis`
VON „Hinweis“ LINKS VERBINDEN „vkm_flight“ ALS „f“ AUF „Hinweis“. „fid“ = „f“. „id“ LINKS VERBINDEN „vkm_parking“ ALS „Parkplatz“ AUF „f“. „tatsächlicher_Parkplatz“ = „Parkplatz“. „Parkplatznummer“

Aber die Abfrageeffizienz des obigen Codes ist wirklich anders! Ich verstehe den spezifischen Code oben nicht und bitte um Anleitung, aber ich habe auf Baidu gesucht und festgestellt, dass einer die Verwendung von if in MySQL und der andere die Verwendung von Benutzervariablen in MySQL ist

Der Benutzername kann durch Festlegen des Var-Werts oder in der obigen Form @var:=val; festgelegt werden.

Verwendung von „if“ in MySQL if(exp1,exp2,exp3). In „if“ gilt: Wenn exp1 wahr ist, dann wird exp2 ausgeführt, andernfalls wird exp3 ausgeführt.

Jetzt ist es vielleicht viel einfacher, sich den obigen Code anzusehen! Basierend auf dem obigen Code habe ich noch einmal ein einfaches Anwendungsbeispiel geschrieben

wähle id,fnum,forg,fdst,@v_rownum:=@v_rownum+1 aus vkm_flight,(wähle @v_rownum:=0) b

Dies gibt den Wert von @v_rownum zurück

Zusammenfassen

Dies ist der gesamte Inhalt dieses Artikels zur Codeanalyse von Benutzervariablen in MySQL-Abfrageanweisungen. Ich hoffe, er wird für alle hilfreich sein. Interessierte Freunde können weiterhin auf diese Site verweisen: Beispiele für die Verwendung von oder Anweisungen in MySQL, detaillierte Erklärung der Bedeutung von N und M im MySQL-Datentyp DECIMAL (N, M) usw. Wenn Sie Fragen haben, können Sie jederzeit eine Nachricht hinterlassen und der Herausgeber wird Ihnen rechtzeitig antworten. Vielen Dank, Freunde, für die Unterstützung dieser Site!

Das könnte Sie auch interessieren:
  • Beispielanalyse der MySQL-Variablenverwendung [Systemvariablen, Benutzervariablen]
  • Detaillierte Erläuterung der MySQL-Benutzervariablen und Set-Anweisungsbeispiele

<<:  Installations-Tutorial für VMware Workstation 12 Pro Linux

>>:  VUE+Canvas implementiert das Spiel God of Wealth und erhält Barren

Artikel empfehlen

Einführung in CSS-Stileinführungsmethoden und ihre Vor- und Nachteile

Drei Möglichkeiten, CSS einzuführen 1. Inline-Sti...

Details zur Verwendung der JS-Tag-Syntax

Inhaltsverzeichnis 1. Einführung in Label-Anweisu...

JavaScript zum Implementieren der Auswahl oder Stornierung von Kontrollkästchen

In diesem Artikel wird der spezifische JavaScript...

Nginx verwendet den Gzip-Algorithmus zum Komprimieren von Nachrichten

Was ist HTTP-Komprimierung Manchmal werden relati...

Vue implementiert einen Wasserfallfluss mit unendlichem Laden

In diesem Artikelbeispiel wird der spezifische Co...

Einführung in die Verwendung gängiger XHTML-Tags

Es gibt viele Tags in XHTML, aber nur wenige werd...

MySql-Freigabe der Nullfunktionsnutzung

Funktionen zu Null in MySql IFNULL ISNULL NULLIF ...

IE6 BUG und Fix ist eine vorbeugende Strategie

Originalartikel: Ultimatives IE6-Cheatsheet: So b...

Detaillierte Erläuterung verschiedener Speichermethoden von Docker-Containern

Inhaltsverzeichnis Vorne geschrieben Mehrere Spei...

Acht Hook-Funktionen in der Vue-Lebenszykluskamera

Inhaltsverzeichnis 1. beforeCreate und erstellte ...

Detaillierte Erläuterung der Vue-Projektverpackung

Inhaltsverzeichnis 1. Zugehörige Konfiguration Fa...

Tutorial zur Installation des Tomcat-Servers unter Windows

1 Herunterladen und vorbereiten Zuerst müssen wir...

Lösen Sie das MySQL-Login-1045-Problem unter CentOS

Da die gesamte Anwendung unter CentOS bereitgeste...