FAQ lesen
Neues in Bitrix24
Bitrix24 Support
Registrierung und Autorisierung
Sicherheit
Womit fangen Sie an?
Feed
Abonnement
Aufgaben und Projekte
Messenger
Collabs
Startseite: Vibe
Projektgruppen
Kalender
Drive
Webmail
CRM
Buchung
CoPilot – KI in Bitrix24
Elektronische Unterschrift für HR
Elektronische Unterschrift
CRM-Onlineshop
Bestandsverwaltung
Geschäftsanalytik
Contact Center
Mein Profil
Marketing
Vertriebsstelle
CRM-Analytik
BI-Builder
Automatisierung
CRM + Onlineshop
Workflows
Unternehmen
Onlineshop
Websites
Anwendungen
Wissensbasis
Videokonferenzen
Telefonie
Enterprise
Einstellungen
Bitrix24 Messenger
Allgemeine Fragen
On-Premise Version
LogIn
Ihr Bitrix24
Loggen Sie sich in Ihrem Bitrix24 ein.
Enter

Bitrix24Help

BI-Builder: SQL-Funktionen zur erweiterten Analyse der Abfragen

Der BI-Builder bietet neue SQL-Funktionen: bitrix24.bi_queries_t() und bi_explain_query(). Mit diesen Funktionen können Sie den Abfrageverlauf einsehen und nachvollziehen, warum Berichte langsam geladen werden.

Die Funktionen helfen dabei, zu erkennen, welche Filter in den Abfragen verwendet werden und wie viele Daten sie laden. Falls eine Abfrage langsam ist, kann sie optimiert werden – beispielsweise durch die Anpassung der Filter oder die Reduzierung der Spaltenanzahl.

In diesem Beitrag werden folgende Themen behandelt:


Verlauf der SQL-Abfragen anzeigen

SQL-Funktion bitrix24.bi_queries_t(). Diese Funktion hilft dabei, den Verlauf der SQL-Abfragen im BI-Builder zu analysieren. Sie zeigt eine Tabelle mit detaillierten Informationen an, z. B. welche Abfragen ausgeführt wurden, wie viele Daten geladen wurden und weitere Details zu ihrer Ausführung.

Um den Abfragenverlauf anzuzeigen, gehen Sie vor wie folgt:

  1. Öffnen Sie den BI-Builder und klicken Sie auf SQL > SQL Lab.
  2. Wählen Sie unter dem Schema bitrix24 aus.
  3. Geben Sie die SQL-Abfrage SELECT * FROM TABLE(bitrix24.bi_queries_t()) ein und klicken Sie auf Ausführen.

Standardmäßig wird eine Tabelle mit den letzten 1.000 ausgeführten Abfragen angezeigt. Um die Anzahl der Zeilen zu reduzieren, verwenden Sie den Operator LIMIT. Beispiel: Um die letzten zehn Abfragen anzuzeigen, können Sie die folgende Abfrage schreiben:

 SELECT * FROM TABLE(bitrix24.bi_queries_t()) LIMIT 10; 

Die Tabellenanalyse zeigt Ihnen, welche Abfragen Ihre Berichte verlangsamen und wie optimiert werden können. Hat ein Dashboard lange Ladezeiten, analysieren Sie die letzten Abfragen und prüfen Sie deren Umfang und Ausführungszeit. Wenn zu viele Daten verarbeitet werden, können Sie zum Beispiel einen Datumsfilter einsetzen, um die Datenmenge zu verringern und die Ladezeiten zu verkürzen.

Die Informationen in der Tabelle überschneiden sich teilweise mit den Daten aus dem Bereich zur Statistik der Abfragenutzung im BI-Builder, bieten jedoch zusätzliche Parameter für eine detaillierte Analyse.

In den Spalten der Tabelle finden Sie detaillierte Informationen zu jeder ausgeführten Abfrage:

TIMESTAMP. Zeitpunkt der Abfrageausführung. Der Parameter zeigt, wann genau die Abfrage ausgeführt wurde und hilft, Zeiten mit hoher Auslastung zu identifizieren.

QUERY_ID. Abfrage-ID. Der Parameter wird zusammen mit der Funktion bi_explain_query() verwendet, um eine bestimmte Abfrage zu finden und zu analysieren.

BI_ENTITY. Dieser Parameter zeigt, auf welche Daten die Abfrage abzielt. Er hilft zu erkennen, welche Daten mit langsamen Abfragen verbunden sind.

QUERY_RESULT. Ergebnis der Abfrage. Der Parameter zeigt an, ob die Abfrage erfolgreich war oder ein Fehler aufgetreten ist.

SIZE_BYTES: Dieser Wert gibt die Größe der Daten an, die durch die Abfrage geladen wurden. Je größer die Datenmenge, desto langsamer funktioniert die Abfrage. Das hilft zu erkennen, ob eine Optimierung nötig ist.

ROWS. Diese Zahl zeigt, wie viele Zeilen die Abfrage zurückgegeben hat. Bei einer großen Anzahl können Sie einen Filter hinzufügen, um die Abfrage zu beschleunigen.

USED_DATE_FILTER. Dieser Parameter zeigt, welcher Datumsfilter verwendet wurde. Er hilft Ihnen zu überprüfen, ob die Abfrage auf den gewünschten Zeitraum begrenzt ist.

SELECTED_COLS_CNT. Anzahl der in der Abfrage ausgewählten Spalten. Eine hohe Anzahl von Spalten kann die Abfrage verlangsamen. Es empfiehlt sich, nur die benötigten Spalten auszuwählen.

SERVER_FILTERS_CNT. Anzahl der auf dem Server angewendeten Filter. Fehlende Filter können dazu führen, dass Abfragen langsamer sind, da mehr Daten geladen werden.

SERVER_FILTERS_INFO. Der Parameter zeigt an, welche Filter genau verwendet wurden, und hilft sicherzustellen, dass die Daten korrekt ausgewählt werden.

CACHE_SIZE_BYTES. Größe der aus dem Cache geladenen Daten. Abfragen, die aus dem Cache stammen, werden schneller ausgeführt, da die Daten nicht direkt aus Bitrix24, sondern aus einer vorbereiteten Kopie abgerufen werden. Standardmäßig ist der Cache während 60 Minuten gültig.

DOWNLOAD_MILLS. Zeit, die zum Herunterladen der Daten benötigt wurde.

PARSE_MILLS. Zeit, die der BI-Builder benötigt, um die Quelldaten der Abfrage vor dem Senden an den Server zu verarbeiten. Je weniger Quelldaten, desto schneller die Verarbeitung.

COMPRESS_MILLS. Zeit, die benötigt wird, um die Quelldaten vor dem Speichern im Cache zu komprimieren. Je größer die Datenmenge, desto länger dauert die Komprimierung.

DECOMPRESS_MILLS. Zeit, die zum Entpacken der Daten nach dem Abrufen aus dem Cache benötigt wird. Je größer die Datenmenge, desto länger dauert das Entpacken, was die Leistung beeinträchtigen kann.

FROM_CACHE. Der Parameter zeigt an, dass die Abfrage aus dem Cache ausgeführt wurde. Abfragen, die aus dem Cache stammen, werden schneller ausgeführt.

QUERY_JSON. Detaillierte Informationen zur Abfrage im JSON-Format. Der Parameter ermöglicht die Überprüfung der verwendeten Filter und Parameter.

Die Funktion bitrix24.bi_queries_t() kann in SQL-Abfragen verwendet werden, um benötigte Spalten auszuwählen, Filter anzuwenden oder Daten nach beliebigen Feldern zu gruppieren. Beispielsweise können Sie die 5 langsamsten Abfragen ermitteln und nach der Größe der geladenen Daten sortieren.

SQL-Abfrage analysieren

SQL-Funktion bi_explain_query(): Dieser Parameter zeigt detailliert, wie eine Abfrage in der MySQL-Datenbank von Bitrix24 ausgeführt wird. Sie erfahren, welche Tabellen und Indizes genutzt werden, wie Daten verknüpft sind und warum die Abfrage möglicherweise langsam ausgeführt wird.

Um eine detaillierte Analyse der Abfrage zu erhalten, führen Sie 2 folgende Schritte aus:

1. Werte von QUERY_ID und TIMESTAMP kopieren. Die Parameter können aus der Tabelle mit dem Verlauf der Abfragen (bitrix24.bi_queries_t()) entnommen werden. Führen Sie die SQL-Abfrage aus: SELECT * FROM TABLE(bitrix24.bi_queries_t()). Finden Sie die gewünschte Zeile und kopieren Sie die Werte von QUERY_ID und TIMESTAMP.

2. Parameter hinzufügen und Abfrage ausführen. Fügen Sie die kopierten Parameter in die Abfrage ein: SELECT bi_explain_query('20250319_081208_80250_xqccc', '2025-03-19 08:12:09.418'); und führen Sie diese aus. Für eine bequeme Analyse kopieren Sie das Ergebnis in die Zwischenablage und öffnen Sie es in einem beliebigen Texteditor.

Sie erhalten ein detailliertes Schema zur Ausführung der SQL-Abfrage. Es zeigt genau, wie der Server die SQL-Abfrage verarbeitet: welche Tabellen und Indizes verwendet werden und welche Operationen die Performance beeinträchtigen. Das Schema besteht aus 2 Teilen:

Ursprüngliche SQL-Abfrage. Im Beispiel wählt die Abfrage die Daten aus der Tabelle der Aufträge aus und verbindet sie mit anderen Tabellen. Sie erhält den Auftragsnamen, die verantwortliche Person, die Start- und Abschlussdaten, die Quelle und die Phase.

Tabelle zur Abfrageanalyse: Diese Tabelle beschreibt die einzelnen Schritte, die der Server bei der Ausführung der Abfrage durchläuft. Jede Zeile repräsentiert einen Schritt im Prozess, um die Daten abzurufen. Die Tabelle enthält mehrere Spalten, die jeweils ein spezifisches Detail der Abfrageausführung erläutern:

  • id — Nummer des Ausführungsschritts. Der Parameter hilft, die Reihenfolge der Tabellenverarbeitung in der Abfrage zu verstehen.
  • select_type — Typ der Abfrage. SIMPLE bedeutet, dass die Abfrage einfach ist und keine verschachtelten Teilabfragen enthält.
  • table — Name der Tabelle, die der Server in diesem Schritt verarbeitet.
  • type — Art der Datensuche in der Tabelle. Wenn ALL angegeben ist, durchsucht der Server die gesamte Tabelle, und die Abfrage wird langsam ausgeführt. Wenn eq_ref oder ref angegeben ist, verwendet der Server einen Index zur Suche, und die Abfrage funktioniert schneller.
  • possible_keys — Indizes, die der Server in diesem Schritt verwenden kann.
  • key — Index, den der Server bei der Ausführung der Abfrage verwendet. Wenn das Feld leer ist, verwendet der Server keine Indizes, und die Abfrage kann langsamer ausgeführt werden.
  • key_len — Länge des Indexschlüssels. Je kürzer der Schlüssel, desto weniger Daten müssen bei der Suche überprüft werden, und desto schneller kann die Abfrage funktionieren.
  • ref — der Parameter zeigt die Felder an, nach denen die Tabellen zusammengeführt werden, zum Beispiel nach Auftrags-ID, Kategorie oder Phase. Dies hilft zu verstehen, wie der Server die Daten miteinander verbindet.
  • rows — Anzahl der Zeilen, die der Server in diesem Schritt überprüft. Je größer die Anzahl der Zeilen, desto langsamer die Abfrage.
  • extra — zusätzliche Informationen zur Abfrageausführung. Using wh ere bedeutet, dass der Server einen Filter anwendet und nur die benötigten Daten auswählt. Wenn in den Ergebnissen Using filesort oder Using temporary angegeben ist, erstellt der Server temporäre Tabellen oder führt eine Sortierung auf dem Laufwerk durch. Dies kann die Abfrage verlangsamen. Die Liste möglicher Werte finden Sie in der MySQL-Dokumentation.
    MySQL-Dokumentation

Wenn Sie in Bitrix24 On-Premise arbeiten, können Sie die benötigten Indizes selbst zur Datenbank hinzufügen. In der Cloud-Version ist es nicht möglich, Indizes manuell zu ändern. Wenn Sie glauben, dass das Hinzufügen eines Indexes die SQL-Abfragen beschleunigen könnte, kontaktieren Sie den technischen Support.
Technischen Support von Bitrix24 kontaktieren

Zusammenfassung

  • Neue SQL-Funktionen im BI-Builder unterstützen bei der Analyse von Abfragen und helfen, die Ursachen für langsame Berichtsladungen zu identifizieren.
  • Die Funktion bitrix24.bi_queries_t() zeigt den Verlauf der SQL-Abfragen, deren Ausführungszeit und die Größe der geladenen Daten an. Dies ermöglicht es, zu verstehen, welche Abfragen die Berichte verlangsamen und wie sie optimiert werden können.
  • Die Funktion bi_explain_query() analysiert detailliert, wie der Server eine bestimmte Abfrage ausführt: welche Tabellen und Indizes verwendet werden und was deren Leistung beeinträchtigt. Eine solche Analyse hilft dabei, Abfragen zu beschleunigen und die Belastung der Datenbank zu verringern.
War diese Information hilfreich?
Assistenz von Integrationsspezialisten anfordern
Nicht das, wonach ich suche.
Kompliziert und unverständlich formuliert.
Die Information ist veraltet.
Zu kurz, ich benötige mehr Informationen.
Mir gefällt nicht, wie das Tool funktioniert.
Zu Bitrix24 wechseln
Sie haben noch keinen Account? Jetzt kostenfrei erstellen
Verwandte Beiträge
Daten aus dem BI-Builder exportieren Parameter in Dashboards des BI-Builders Jinja Templates im BI-Builder verwenden Aufträge, Produkte und Produkteigenschaften vereinigen Berichte im BI-Builder erstellen und bearbeiten Fertiges Dashboard im BI-Builder konfigurieren Diagramm aus dem virtuellen Datensatz erstellen BI-Builder: Daten im Dashboard aktualisieren BI-Builder: Filter nach Datum in der SQL-Abfrage konfigurieren Berichte im BI-Builder erstellen

Sehen Sie sich unsere Videos an

Bitrix24 Webinaraufnahmen und Videos