Gestione delle funzioni di database con SQL Runner

SQL Runner offre un modo per accedere direttamente al database e sfruttare questo accesso in vari modi. Con SQL Runner, puoi navigare facilmente tra le tabelle dello schema, utilizzare un'esplorazione ad hoc da una query SQL, eseguire query descrittive prescritte sui dati, visualizzare la cronologia di SQL Runner, scaricare i risultati, condividere query, aggiungere a un progetto LookML come tabella derivata ed eseguire altre attività utili.

Questa pagina descrive come modificare lo schema e i dati del database utilizzando SQL Runner, visualizzare il piano di esecuzione del database per una query con l'istruzione EXAMINE e come utilizzare SQL Runner per ottenere informazioni sul database. Consulta queste altre pagine della documentazione per informazioni su:

Modifica dello schema e dei dati del database

Oltre a eseguire query sul database, la scheda Database in SQL Runner ti consente di eseguire istruzioni DDL (Data Definition Language) e DML (Data Manipulation Language) sul database. Puoi utilizzare SQL Runner per apportare modifiche allo schema (ad esempio creare, rilasciare e modificare) e modificare i dati (ad esempio inserimento, aggiornamento ed eliminazione). I dialetti SQL supportano diversi tipi di istruzioni DDL e DML, quindi consulta la documentazione del tuo database per scoprire quali istruzioni sono supportate.

Looker non controlla l'autorizzazione per l'esecuzione di istruzioni SQL da parte di un utente sul tuo database. Gli utenti di Looker con l'autorizzazione use_sql_runner hanno accesso a SQL Runner, ma SQL Runner non limita i comandi che l'utente può eseguire. Se l'amministratore del database vuole impedire agli utenti di SQL Runner di modificare lo schema del database, deve farlo configurando le autorizzazioni utente per il database stesso.

Per eseguire un'istruzione DDL o DML sul database in SQL Runner:

  1. Vai a SQL Runner.
  2. In SQL Runner, fai clic sulla scheda Database.
  3. Inserisci l'istruzione DDL o DML nella casella Query di SQL Runner. (Per il supporto e la sintassi delle istruzioni DDL e DML, consulta la documentazione del dialetto del database).
  4. Fai clic su Esegui per eseguire l'istruzione nel database.

Se l'istruzione viene eseguita correttamente nel database, la casella Risultati di SQL mostra una conferma.

Esaminare un piano di esecuzione utilizzando EXPLAIN

Oltre a eseguire query SQL sul database, puoi utilizzare SQL Runner per eseguire una funzione EXPLAIN per una query. La funzione EXPLAIN, supportata dalla maggior parte dei dialetti SQL, restituisce il piano di esecuzione del database per una query.

  1. Da un'esplorazione, esegui una query e fai clic sulla scheda SQL dell'area Dati per visualizzare il comando SQL della query.
  2. Nella scheda SQL dell'esplorazione, fai clic sul pulsante Spiega in SQL Runner.

    Looker aprirà SQL Runner e caricherà la query all'interno di una funzione EXPLAIN.

  3. In SQL Runner, fai clic su Esegui per eseguire la funzione EXPLAIN.

  4. Visualizza l'output della funzione EXPLAIN.

Le informazioni esatte e il formato della risposta EXPLAIN dipenderanno dal dialetto specifico, quindi ti consigliamo di consultare la documentazione del dialetto per informazioni specifiche.

Nell'esempio MySQL precedente, la funzione EXPLAIN restituisce un elenco dei passaggi eseguiti dal database per completare la query. Questa operazione può essere utile per le query che sembrano essere lente da eseguire, poiché potresti scoprire che il database sta analizzando un'intera tabella in una query, quando forse la tabella potrebbe utilizzare un indice per migliorare le prestazioni.

Per un esempio dettagliato di come utilizzare EXPLAIN in SQL Runner per ottimizzare SQL, consulta Come ottimizzare SQL con EXPLAIN Post della scheda Community.

Recupero delle informazioni sul database

La scheda Database in SQL Runner offre una serie di strumenti per fornire insight sul tuo database.

Recupero delle informazioni di connessione al database

Quando scegli una connessione in SQL Runner, Looker mostra il dialetto del database per quella connessione a destra del banner QUERY SQL. Se hai raggiunto SQL Runner scegliendo Apri in SQL Runner o Spiega in SQL Runner, Looker preseleziona la connessione appropriata e visualizza il dialetto del database della connessione.

Fai clic sul menu a forma di ingranaggio di connessione per visualizzare altre opzioni per la connessione al database:

  • Seleziona l'opzione Mostra processi per visualizzare informazioni sulle query e sui processi attualmente in esecuzione sulla connessione.
  • Seleziona Aggiorna schemi e Tables per ricompilare il riquadro di navigazione sinistro di SQL Runner con gli schemi e le tabelle nel database.

Opzioni del menu a forma di ingranaggio di BigQuery

Quando scegli una connessione BigQuery che supporta più database, Looker mostra le opzioni specifiche del dialetto nel menu a forma di ingranaggio. La voce di menu passa da Mostra progetti disponibili a Cerca progetti pubblici e viceversa, a seconda dell'opzione attualmente selezionata.

  • Seleziona Aggiorna schemi e tabelle per rieseguire il popolamento del riquadro di navigazione a sinistra di SQL Runner con gli schemi e le tabelle presenti nel database.
  • Quando sono visualizzati i progetti disponibili, il menu a forma di ingranaggio mostra l'opzione Cerca nei progetti pubblici. Seleziona questa opzione per cercare set di dati pubblici non visibili nello schema delle informazioni.
  • Quando vengono visualizzati i progetti pubblici, è presente l'opzione di menu a forma di ingranaggio Mostra i progetti disponibili. Seleziona questa opzione per ripristinare la visualizzazione di tabelle e progetti BigQuery specifici per la connessione nel riquadro di navigazione sinistro di SQL Runner.

Ricerca nel database

SQL Runner mostra una casella di ricerca sotto lo schema (o Set di dati) selezionato per le connessioni di Google BigQuery.

La ricerca di SQL Runner esamina i nomi di tutte le tabelle e le colonne delle tabelle che contengono la stringa nella casella di ricerca. Nella figura seguente, "airport_name" è una colonna e "airport_remarks" è una tabella.

Fai clic su uno dei risultati di ricerca per passare a quell'elemento in SQL Runner.

Visualizzazione delle informazioni sulle tabelle

Per impostazione predefinita, SQL Runner precarica tutte le informazioni della tabella quando selezioni una connessione e uno schema. Per le connessioni con molte tabelle o tabelle molto grandi, un amministratore può disabilitare questo comportamento deselezionando l'opzione SQL Runner Precache (Precache SQL Runner) nella pagina Connessioni.

Il riquadro di navigazione a sinistra di SQL Runner ti consente di spostarti tra gli schemi e le tabelle nelle connessioni. Seleziona una connessione e uno schema per visualizzare tutte le tabelle dello schema. Fai clic sul nome di una tabella per visualizzare i relativi campi.

SQL Runner ha alcune query precompilate per aiutarti a comprendere i tuoi dati. Per utilizzare queste query, fai clic sull'icona a forma di ingranaggio accanto al nome di una tabella o di una colonna della tabella e seleziona la query che ti interessa. Looker genera automaticamente il codice SQL nella sezione Query SQL e la query verrà eseguita.

Le query disponibili variano in base al dialetto del database.

Informazioni sulla tabella

Looker mostra le seguenti opzioni quando fai clic sull'icona a forma di ingranaggio accanto al nome di una tabella:

  • Esplora tabella: apre una nuova scheda del browser in cui è visualizzata un'esplorazione di Looker della tabella.
  • Descrivi: mostra i nomi delle colonne nella tabella sottostante, nonché i relativi tipi di dati.
  • Mostra indici: mostra informazioni su come viene indicizzata la tabella.
  • Seleziona 10: restituisce una query delle prime dieci righe della tabella. Questo è un buon modo per avere un'idea di come appaiono effettivamente i dati.
  • Conteggio: restituisce una semplice query count(*) per ottenere il conteggio totale delle righe della tabella.

Informazioni colonna

Fai clic sul nome di una tabella per visualizzare le relative colonne. Looker mostra le seguenti opzioni quando fai clic sull'icona a forma di ingranaggio accanto al nome di una colonna:

  • Valori più comuni: restituisce una query dei valori più comuni per quella colonna della tabella, insieme a un conteggio del numero di volte in cui quel valore viene trovato nella colonna.
  • Conteggio approssimativo distinto: mostra un conteggio approssimativo del numero di valori distinti trovati nella colonna.

Visualizzare le informazioni sul tipo di dati della colonna

Per utilizzare SQL Runner per ottenere informazioni sul tipo di dati delle colonne, svolgi i seguenti passaggi:

  1. In SQL Runner, seleziona la connessione al database dall'elenco a discesa Connessione.
  2. Seleziona lo schema dal menu a discesa Schema. (Per le connessioni BigQuery, seleziona Progetto e Set di dati).
  3. SQL Runner mostra l'elenco delle tabelle nello schema del database. Fai clic su una tabella per visualizzare le relative colonne.
  4. Ogni nome di colonna ha un'icona che rappresenta il tipo di dati. Passa il mouse sopra il nome di una colonna per visualizzare il tipo di dati in quella colonna.

Modifica delle query SQL predefinite

Puoi modificare qualsiasi query SQL nell'area Query, incluse le query SQL preimpostate scelte dai menu della tabella e dai menu a forma di ingranaggio.

Ad esempio, puoi utilizzare la query Conteggio di SQL Runner per caricare un comando di conteggio di base per un database, quindi modificare la query SQL. Pertanto, se ritieni che la colonna id nella tabella public.users possa essere una chiave primaria, puoi verificare che non siano presenti valori duplicati modificando la query di conteggio come segue:

SELECT id ,COUNT(*)
FROM public.users
GROUP BY 1
ORDER BY 2 DESC
LIMIT 10

Poiché la query viene ordinata in base al numero prima che i risultati siano limitati a 10 righe, i risultati includeranno i valori di conteggio più elevati. Se questa query restituisce un conteggio pari a 1 per ogni valore id, id sarebbe probabilmente la chiave primaria in questa tabella. Tuttavia, questa query specifica solo le righe della tabella al momento dell'esecuzione della query. Poiché le inserzioni future nel database potrebbero escludere id come chiave primaria, ti consigliamo di implementare limitazioni nel database per assicurarti che le chiavi principali siano univoche.