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

Entwickeln Sie eine Vue-Komponente, die Iframe kapselt

Inhaltsverzeichnis 1. Komponenteneinführung 2. In...

Grafisches Tutorial zur Installation und Konfiguration von MySQL 8.0.18 (Linux)

Dieser Artikel zeichnet das grafische Tutorial zu...

So installieren Sie einen SVN-Server unter Linux

1. Yum-Installation yum installiere Subversion 2....

Detaillierte Erklärung zur korrekten Installation von OpenCV auf Ubuntu

Dieser Artikel beschreibt, wie man OpenCV mit C++...

Eine kurze Diskussion über den Linux-Signalmechanismus

Inhaltsverzeichnis 1. Signalliste 1.1. Echtzeitsi...

Netzwerkkonfiguration des Host Only+NAT-Modus unter VirtualBox

Die Netzwerkkonfiguration des Host Only+NAT-Modus...

100-1% des Inhalts der Website ist Navigation

Website, (100-1)% des Inhalts ist Navigation 1. J...

Erfahren Sie, wie Sie Nginx schnell in CentOS7 installieren

Inhaltsverzeichnis 1. Übersicht 2. Laden Sie das ...

Html+CSS-Zeichnungsdreiecksymbol

Schauen wir uns zunächst die Renderings an: XML/H...

HTML-Meta erklärt

Einführung Der Meta-Tag ist ein Hilfstag im HEAD-...

Beispiel für die Implementierung von Unterstreichungseffekten mit CSS und JS

In diesem Artikel werden hauptsächlich zwei Arten...