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:
|
<<: Installations-Tutorial für VMware Workstation 12 Pro Linux
>>: VUE+Canvas implementiert das Spiel God of Wealth und erhält Barren
So funktioniert Nginx Nginx besteht aus einem Ker...
Detaillierte Einführung in die Schritte zur Insta...
Lösung 1 Deinstallieren Sie vollständig und lösch...
Inhaltsverzeichnis 1. Problemszenario 2. Ursachen...
Als Backend-Programmierer haben Sie an vielen Ste...
Ich beschäftige mich seit über einem Jahr mit Java...
Inhaltsverzeichnis 1. Einleitung 2. MySQL-Router ...
CentOS 8 ist schon seit längerem auf dem Markt. A...
Erkennen Sie die Unterschiede zwischen den Method...
Inhaltsverzeichnis 1. Prototyp (expliziter Protot...
In meiner Verzweiflung dachte ich plötzlich: Wie i...
Schauen wir uns zunächst die Codedateistruktur an...
Code kopieren Der Code lautet wie folgt: <!-- ...
Windows 10 unterstützt jetzt das Linux-Subsystem....
Nachteile von Tabellen 1. Tabellen nehmen mehr Byt...