Ich habe diesen Verlust viele Male vor der Entwicklung erlitten, viele Abfragen mit oder als Where-Bedingung wurden sogar aktualisiert. Hier sind Beispiele, um die Nachteile der Verwendung von oder zu veranschaulichen und wie man sie verbessern kann. Wählen Sie f_crm_id aus d_dbname1.t_tbname1 aus, wobei f_xxx_id = 926067 und (f_mobile ='1234567891' oder f_phone ='1234567891') 1 beträgt. Aus der Abfrageanweisung ist leicht ersichtlich, dass in beiden Feldern f_mobile und f_phone Telefonnummern gespeichert werden können Die Lösung besteht darin, OR zum Erstellen einer SQL zu verwenden, aber die große Menge an Tabellendaten ist einfach eine Katastrophe: Es gibt einen Index idx_id_mobile(
1. MySQL vermeidet die Verwendung von OR-Bedingungen für den Index Spalten
Einführung: Ich habe diesen Verlust viele Male in der vorherigen Entwicklung von SQL-Code erlitten, viele haben ihn verwendet oder als Where-Bedingungsabfrage und sogar Aktualisierung. Hier sind Beispiele, um die Nachteile der Verwendung von or zu veranschaulichen und wie man es verbessern kann...
Einführung: MYSQL AND OR-Bedingungsprobleme
3. Probleme im Zusammenhang mit MYSQL AND OR-Bedingungen
Einführung: MYSQL-AND-OR-Bedingungsproblem SELECT id,name FROM test WHERE type_1 = 1 OR type_2 = 1 AND id = 1 Dies wird alles ausdrucken und ignorieren die Bedingungs-ID=1. So ändern Sie sie
4.MySQL oder die Bedingung können einen Index verwenden, um eine vollständige Tabelle zu vermeiden Bedingung kann eine vollständige Tabelle vermeiden. 1. Wenn die where-Anweisung eine oder-Bedingung enthält, kann die myisam-Tabelle den Index verwenden, nicht jedoch die myisam-Tabelle: 5 >Bitmap-Indexproblem in Oracle
Einführung: Bitmap-Indexproblem in Oracle, die and und or-Bedingungen in der where-Klausel der Abfrage entsprechen direkt der Bitmap (Bitmap). Führen Sie boolesche Operationen aus, um eine Bitmap-Ergebnismenge zu erhalten, ohne dass die Bitmap konvertiert werden muss.
6. Analyse von fünf Fällen von MySQL Indexfehler
Einführung: Der Index wird nicht immer wirksam. Beispielsweise führen die folgenden Situationen dazu, dass der Index fehlschlägt: Wenn vorhanden Ist ein or in der Bedingung, wird dieser nicht verwendet, selbst wenn eine Bedingung mit einem Index vorhanden ist. (Deshalb sollten Sie or so wenig wie möglich verwenden.) Hinweis: Wenn Sie or verwenden möchten und möchten, dass der Index verwendet wird Auswirkung: Sie können jeder Spalte in der oder-Bedingung nur den Index 2 hinzufügen. Bei mehrspaltigen Indizes ist dies nicht der erste Teil, der
7 kann Verwenden Sie Verzeichnisse, um vollständige Tabellen zu vermeiden
Einführung: MySQL oder Bedingungen können Indizes verwenden. In einigen Fällen kann die ODER-Bedingung einen vollständigen Tabellenscan vermeiden. 1. Wenn die Where-Anweisung eine oder-Bedingung enthält, kann die Myisam-Tabelle den Index verwenden, Innodb jedoch nicht. 1) Myisam-Tabelle: ?CREATE TABLE IF NOT EXISTS `a` ( ? `id` int(1) NOT NULL AUTO_INCREMENT, ? `uid` i
8.mysql Die oder-Bedingung kann Indizes verwenden, um vollständige Tabellenscans zu vermeiden_MySQL
Einführung: MySQL oder Bedingungen können Indizes verwenden, um vollständige Tabellenscans zu vermeiden
9.Über OR-Bedingungen und Indizes in MySQL
Einführung: Über OR-Bedingungen und Indizes in MySQL
[ Verwandte Q&A-Empfehlungen]:python – Wie führt man in SqlAlchemy einen Filter mehrmals aus, um Bedingungen hinzuzufügen?
Das obige ist der detaillierte Inhalt vonWie verwende ich die ODER-Bedingung? Fassen Sie die Verwendung von ODER-Bedingungsbeispielen zusammen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!