Heim  >  Artikel  >  Datenbank  >  Ausführliche Erläuterung der Methoden und Vorsichtsmaßnahmen für die Verwendung der erzwungenen Indizierung in Oracle

Ausführliche Erläuterung der Methoden und Vorsichtsmaßnahmen für die Verwendung der erzwungenen Indizierung in Oracle

小云云
小云云Original
2017-12-11 14:34:461964Durchsuche

Dieser Artikel stellt Ihnen hauptsächlich die Methoden und Vorsichtsmaßnahmen für die Verwendung der erzwungenen Indizierung in Oracle vor. Der Artikel stellt es im Detail anhand von Beispielcode vor. Es hat einen gewissen Referenz-Lernwert für alle, die es brauchen gemeinsam lernen. Ich hoffe, es hilft allen.

Oracle verwendet erzwungene Indizierung

In einigen Szenarien indiziert ORACLE zu diesem Zeitpunkt möglicherweise nicht automatisch, wenn dies für das Unternehmen klar ist. Sie können versuchen, die erzwungene Indizierung zu verwenden, um die Leistung der Abfrageanweisung zu testen.

Nehmen Sie die EMP-Tabelle als Beispiel:

Erstellen Sie zunächst einen eindeutigen Index in der EMP-Tabelle, wie in der Abbildung gezeigt.

Normale Suche:

SELECT * FROM EMP T

Ausführungsplan anzeigen:

Sie können sehen, dass es sich um einen vollständigen Tabellenscan handelt.

Verwenden Sie die erzwungene Indizierung, fügen Sie /*.....*/ nach SELECT hinzu und fügen Sie das Indexattribut in der Mitte hinzu. Der Code lautet wie folgt:

SELECT /*+index(t pk_emp)*/* FROM EMP T 

--强制索引,/*.....*/第一个星星后不能有空格,里边内容结构为:加号index(表名 空格 索引名)。
--如果表用了别名,注释里的表也要使用别名。

Wie Sie sehen können, wird hier der Index PK_EMP verwendet.

Hinweise zur Verwendung von erzwungenen Indizes durch Oracle

Kürzlich wurden die effektiven Bedingungen für den SQL-Index von Oracle überprüft und die folgenden Regeln gefunden und wie folgt aufgezeichnet :

1. Die Indexgültigkeit hängt von der Anzahl der Datensätze ab

2016-01-01~2016-11-30 Datenvolumen 402518, der Index ist gültig

2016-01-01~2016-12-30 Das Datenvolumen beträgt 444844, der Index ist nicht gültig

SELECT 
 * 
FROM 
 T_MAINS 
WHERE 
 date > TO_DATE (--备注今天是2017-01-23 
  '2016-01-01', 
  'yyyy-mm-dd hh24:mi:ss' 
 ) 
AND date < TO_DATE ( 
 &#39;2016-11-30&#39;, 
 &#39;yyyy-mm-dd hh24:mi:ss&#39; 
);

2. T_MAINS wurde nach einem bestimmten Zeittypfeld partitioniert. Wenn eine bestimmte Partition in den Abfragebedingungen genau lokalisiert werden kann, ist die Ausführungseffizienz von SQL kann verbessert werden

Zugehörige Empfehlung:

Batchdatei zum Stoppen und Starten von MySQL- und Oracle-Datenbanken

So importieren Sie eine Tabelle Dateien in die MySQL-Datenbank oder Oracle oder

Oracle verwendet HINT, um den Index zu erzwingen

Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung der Methoden und Vorsichtsmaßnahmen für die Verwendung der erzwungenen Indizierung in Oracle. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn