Esplora le nuove funzioni SQL in BI Builder: bitrix24.bi_queries_t() e bi_explain_query(). Questi strumenti sono progettati per aiutarti a monitorare la cronologia delle query e a comprendere le cause del caricamento lento della dashboard, migliorando le tue capacità di gestione dei dati.
Queste funzioni consentono di identificare i filtri utilizzati nelle query e la quantità di dati elaborati. Se una query è lenta, è possibile ottimizzarla regolando i filtri o riducendo il numero di colonne.
Contenuto dell'articolo:
Visualizza la cronologia delle query SQL
Funzione SQL bitrix24.bi_queries_t(). Questa funzione ti aiuta ad analizzare la cronologia delle query SQL eseguite in Generatore BI. Mostra una tabella con dettagli come quali query sono state eseguite, quanti dati sono stati caricati e altre informazioni rilevanti.
Per visualizzare la cronologia delle query:
- Apri Generatore BI e vai nella sezione SQL > SQL Lab.
- Seleziona lo schema bitrix24.
- Immetti la seguente query SQL e fai clic su Run:
SELECT * FROM TABLE(bitrix24.bi_queries_t())
.
Per impostazione predefinita, questa query visualizza una tabella con le ultime 1.000 query eseguite. Per limitare il numero di righe, utilizza l'operatore LIMIT. Ad esempio, per visualizzare le ultime dieci query, utilizza:
SELECT * FROM TABLE(bitrix24.bi_queries_t()) LIMIT 10;
Analizzando la tabella è possibile identificare quali query rallentano le prestazioni della dashboard e come ottimizzarle. Ad esempio, se una dashboard si carica lentamente, controlla le query recenti e prendi nota del loro volume e del tempo di esecuzione. Se sono presenti troppi dati, prova ad aggiungere un filtro dell'intervallo di date per ridurre la selezione e accelerare il caricamento.
Le informazioni nella tabella integrano i dati della sezione statistiche di Generatore BI, offrendo parametri più dettagliati.
Le colonne della tabella includono:
Nome colonna | Descrizione |
---|---|
DATA/ORA | Data e ora esatte di esecuzione. Utile per identificare i periodi di picco. |
QUERY_ID |
Identificatore univoco. Usalo con bi_explain_query() per analizzare una query specifica.
|
BI_ENTITY | Dataset o entità di riferimento. Aiuta a tracciare query lente. |
QUERY_RESULT | Stato di esecuzione (successo o errore). |
SIZE_BYTES | Volume dei dati restituiti. Dataset grandi potrebbero richiedere ottimizzazione. |
ROWS | Numero di righe restituite. Riduci le righe con filtri per migliorare le prestazioni. |
USED_DATE_FILTER | Filtro temporale applicato (se presente). Verifica il periodo selezionato. |
SELECTED_COLS_CNT | Numero di colonne selezionate. Troppe colonne rallentano la query. |
SERVER_FILTERS_CNT | Numero di filtri applicati lato server. Senza filtri, le query sono più lente. |
SERVER_FILTERS_INFO | Dettagli sui filtri utilizzati. Verifica la correttezza dei dati selezionati. |
CACHE_SIZE_BYTES | Dimensione dei dati recuperati dalla cache. La cache accelera le query (durata predefinita: 1 ora). |
DOWNLOAD_MILLS | Tempo di caricamento dei dati. |
PARSE_MILLS | Tempo di elaborazione dei dati prima dell'invio al server. |
COMPRESS_MILLS | Tempo di compressione dei dati prima del salvataggio in cache. |
DECOMPRESS_MILLS | Tempo di decompressione dei dati dalla cache. |
FROM_CACHE | Indica se i risultati provengono dalla cache. |
QUERY_JSON | Configurazione completa della query in formato JSON. |
Analizza una query SQL
Funzione SQL bi_explain_query(). Mostra come viene eseguita una query nel database MySQL di Bitrix24, rivelando tabelle, indici utilizzati e operazioni critiche.
Per analizzare una query:
1. Copia QUERY_ID e DATA/ORA. Trovali nella tabella bitrix24.bi_queries_t() eseguendo SELECT * FROM TABLE(bitrix24.bi_queries_t())
, poi copia i valori.
2. Aggiungi i parametri ed esegui la query. Inserisci i valori copiati: SELECT bi_explain_query('20250319_081208_80250_xqccc', '2025-03-19 08:12:09.418');
. Copia il risultato e aprilo in un editor di testo.
Otterrai un piano di esecuzione con due parti:
Query SQL originale. Nell'esempio, la query seleziona i dati dalla tabella affari e li unisce ad altre tabelle. Recupera il nome dell'affare, la categoria, la persona responsabile, le date di inizio e chiusura, l'origine e la fase.
Tabella di analisi delle query. Questa parte descrive i passaggi che il server esegue per eseguire la query. Ogni riga della tabella rappresenta un passaggio che il server esegue per recuperare i dati. La tabella è composta da diverse colonne, ciascuna delle quali spiega un dettaglio specifico dell'esecuzione della query:
Colonna | Descrizione |
---|---|
id | Numero del passo nell'esecuzione. |
select_type | Tipo di query (es. SIMPLE per query senza sottoquery). |
table | Nome della tabella analizzata. |
type |
Metodo di ricerca:
|
possible_keys | Indici disponibili per l'operazione. |
key | Indice effettivamente utilizzato. |
key_len | Lunghezza della chiave dell'indice. |
ref | Campi usati per i join tra tabelle. |
rows | Numero di righe analizzate. Più righe = query più lenta. |
extra |
Dettagli aggiuntivi:
|
Se hai la versione Bitrix24 On-Premise, puoi aggiungere gli indici necessari al database da solo. Tuttavia, nella versione cloud, non puoi modificare manualmente gli indici. Se ritieni che l'aggiunta di un indice possa migliorare la velocità delle query SQL, contatta il nostro team di supporto.
Supporto di Bitrix24: come contattarlo?
Riepilogo
-
Le nuove funzioni SQL in Generatore BI migliorano la capacità di analizzare le prestazioni delle query e identificare i motivi del caricamento lento della dashboard.
-
La funzione bitrix24.bi_queries_t() fornisce informazioni sulla cronologia delle query SQL, inclusi tempo di esecuzione e volume di dati, aiutandoti a individuare e migliorare le query lente.
-
La funzione bi_explain_query() offre una ripartizione dettagliata dell'esecuzione delle query, mostrando quali tabelle e indici vengono utilizzati e identificando potenziali rallentamenti, aiutando nell'ottimizzazione delle query e riducendo il carico del database.