Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

SQL: Datenbankabfragen beschleunigen

Probleme lösen bei logischem ODER bzw. UND

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Mit einem passend indizierten Feld begegnen Sie allen Problemen, die durch zusammengesetzte Filterbedingungen mit logischem ODER bzw. UND entstehen.

Transkript

Sicherlich gibt es viele Abfragen wie diese, die einfach nur Daten darstellen - ungefiltert, unsortiert. Dann wird es eine Menge geben, die irgendein Filter haben. In dem Fall einen Textfilter, oder in diesem Fall einen Zahlenfilter. Aber am häufigsten werden welche auftauchen, die mehrere Filter brauchen. So wie hier, beispielhaft. Ein Text soll irgendeine Bedingung erfüllen, oder die Zahl. Das ist die eine Variante - eine Oder-Bedingung. Die andere Variante - eine Und-Bedingung. Ansonsten sind die Filter hier gleich. Das führt natürlich zu unterschiedlich vielen Ergebnissen, wenn ich sage, der Nachname soll Hölscher, oder die Zahl 10 sein, dann komme ich hier auf 525 Ergebnisse, weil dieser Name so oft auftaucht und eine Zahl davon auch die 10 ist. Wenn ich das mit einer Und- Bedingung verknüpfe, dann komme ich natürlich nur noch genau zu diesem einen Datensatz. Das wird zu einer geringen Abweichung führen können, weil einfach die Menge der darzustellenden Daten sich unterscheidet. Schauen wir doch einmal, was das im Endeffekt ausmacht, ob Sie mit UND, mit ODER oder gar nicht verknüpft filtern. Fangen wir mit dem logischen ODER an. Eine ungefilterte Abfrage dauert 16 ms. Mit dem einzelnen Text 78 ms. Mit der Zahl einzeln 157 ms. Und mit der logischen ODER-Verknüpfung, beide zusammen - 328 ms. Aber das trifft Sie nur, wenn Sie aus irgend einem Grund keinen Index auf diese Felder setzen können. Beispielsweise, weil Sie an externe Tabellen gebunden sind, auf die Sie keinen Einfluss haben. Das ist wieder ein guter Grund, einen Index drauf zu setzen, denn sobald, sowohl auf dem Zahlen-, als auch auf dem Textfeld ein Index sitzt, haben Sie gewonnen. Alles unter 1 ms. Also gleich schnell. Egal ob Sie einzeln oder nicht, mit ODER verknüpft oder nicht irgendetwas ermitteln wollen. Und das gilt auch im Prinzip für das logische UND. Einzeln, die gleichen Zahlen natürlich und gemeinsam gefiltert mit einem logischen UND zwar schneller, aber auch hier, sobald Sie Index drauf haben, ist alles unschlagbar schnell. Wieder ein Argument mehr, einen Index einzusetzen. Damit ist es fast egal, nicht wirklich. Aber an vielen Stellen. Hier zum Beispiel. Logisches ODER und logisches UND. Da ist es an vielen Stellen egal, was Sie nun genau filtern.

SQL: Datenbankabfragen beschleunigen

Entdecken Sie, wo das Beschleunigungspotenzial für SQL-Datenbanken liegt und lernen Sie die Rezepte für bessere Performance.

2 Std. 15 min (39 Videos)
Derzeit sind keine Feedbacks vorhanden...
 
Exklusiv für Abo-Kunden
Erscheinungsdatum:25.03.2015

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!