Ottimizzazione delle query: distribuzione e altro

In questo articolo imparerai tutto ciò di cui hai bisogno per ottimizzazione delle query nel DBMS; per migliorare notevolmente i tempi di risposta di questi sistemi tecnologici.

ottimizzazione delle query-1

Principali DBMS oggi.

Ottimizzazione delle query, cosa sono i DBMS?

Prima di iniziare a parlare di alcuni suggerimenti e consigli per migliorare il ottimizzazione delle query del tuo sito web o delle tue applicazioni. È importante che tu sappia qualcosa sui DBMS che esistono oggi.

L'SGBD, il cui acronimo sta per Database Management System; Sono un insieme di programmi che permettono all'utente di manipolare determinate informazioni in tutti i sensi, ospitate in un database; come l'estrazione, l'archiviazione e/o la modifica degli stessi.

Oltre a ciò, aiutano a fornire tutta la sicurezza necessaria a questo database, per gestire e controllare il flusso di entrate e uscite degli utenti; anche la protezione di questi nel caso in cui le informazioni siano state corrotte e scomparse, venendo recuperate. Come punto importante, sono anche una parte rilevante del ottimizzazione delle query.

In altre parole, per il corretto funzionamento di un'applicazione, di un computer o di un sito web è necessaria la presenza di un sistema di database, altrimenti non sarebbe affatto utile.

Tra gli esempi più notevoli che possiamo citare dei DBMS, che esistono oggi; avere: Microsoft SQL Server; CouchDB (questo specificamente orientato alla parte dei documenti); MongoDB (orientato come il precedente); e il più famoso di loro e il più usato, MySQL, relazionale, open source, utilizzato da piattaforme come WordPress.

Se vuoi saperne di più sul database e in particolare su MySQL; Ti consigliamo il seguente articolo, dove imparerai di più su questo software così ampiamente utilizzato oggi: Tipi di dati in MYSQL.

Che cos'è l'ottimizzazione delle query?

Fondamentalmente si tratta di migliorare notevolmente e in modo ottimale i tempi di risposta del DBMS; in modo tale da poter fornire ai propri utenti le informazioni richieste in tempi record. Succede in alcuni casi, dove certe applicazioni o altre tendono ad essere così complesse che, in fase di consultazione, i tempi per ottenere una risposta sono piuttosto lunghi; In molti casi, questa risposta di solito non è la più "ottimale", cioè la migliore possibile.

Esistono alcuni ottimizzatori basati sui costi e questi a loro volta basati su determinati piani; che saranno quelli che, attraverso l'analisi, potranno dare come risultato, i migliori percorsi da intraprendere per ottimizzare la query; prendendo, ovviamente, quei piani con i costi più bassi possibili.

Un punto importante è che gli utenti non possono accedere direttamente all'ottimizzatore; Devono prima passare attraverso un processo di analisi e dopo questo passaggio, l'utente può già avere accesso all'ottimizzazione

Come funzionano?

La maggior parte ottimizzazione delle query, viene implementato tramite un albero di nodi, per rappresentarli graficamente. Ogni nodo presente in quell'albero rappresenta un piano e quei piani, incapsulati in quei nodi, non sono altro che semplici operazioni.

È possibile che ogni nodo abbia altri nodi figlio, con piani; ma che allo stesso modo gestiranno lo stesso piano del loro nodo padre. Nel caso delle foglie di questo "albero dei nodi", esse rappresentano i risultati di dette operazioni eseguite da tutti i nodi presenti.

Come dati importanti, nei sistemi di gestione dei database; i nodi sono JOIN, che consentono di combinare record da tabelle (queste possono essere più o solo una) in un database. In effetti, la parola Registratitradotto dall'inglese, significa "unire".

Detto quanto scritto nel paragrafo precedente, uno dei fattori importanti nella ottimizzazione delle query e quale maggiore influenza hanno; È nell'ordine in cui vengono gestite le tabelle di dati, ovvero nell'ordine in cui viene effettuato il JOIN. Un'ulteriore ottimizzazione potrebbe essere determinata dal funzionamento dei tavoli piccoli anziché di quelli grandi prima; se fatto al contrario, il processo potrebbe richiedere molto più tempo del previsto.

Molti ottimizzatori fanno uso di un certo algoritmo, implementato da Progetto database System R; che segue una serie di fasi di analisi e ricerca; che alla fine daranno i migliori risultati possibili. Questi risultati devono essere considerati migliori di altri, se seguono lo stesso ordine; in quanto ciò potrebbe ridurre ulteriormente i tempi di risposta.

Cosa sono le tuple?

Una tupla è una delle più importanti in un database; poiché oggetti che contengono le informazioni di detti dati (nel caso della definizione matematica). Passando al campo informatico, non si discosta molto dalla definizione precedente, se non che in questo caso corrisponde ad una riga, di una specifica tabella; Questi ultimi, quindi, sono quelli che contengono i dati salvati.

Come nell'area della matematica, i dati memorizzati in questi oggetti sono disordinati, poiché più che un elenco, sono un insieme di dati; e non c'è duplicazione e nessun tipo di replica di una tupla, poiché matematicamente ciò sarebbe impossibile.

Processi di ottimizzazione

La ottimizzazione delle query, segue una serie di passaggi o un processo. In questo caso, li nomineremo semplicemente e nella sezione successiva diremo alcuni suggerimenti da tenere a mente per migliorare le prestazioni.

Il primo passo è il file Rappresentazione interna delle query, che deve avere una serie di caratteristiche (menzionate nella sezione successiva) e sistemi, per poter rappresentare le espressioni logiche. Il secondo passo, Conversione in forma canonica, qui si troverà un'espressione equivalente (derivata dall'originale), che diventerà la forma canonica della query e migliorerà le prestazioni della query.

Il terzo processo, Scelta di procedure di basso livello, qui troverai diversi punti (come indici e percorsi alternativi) per la query. E infine, il Generazione e scelta dei piani di consultazione

Alcuni suggerimenti per l'ottimizzazione delle query

In questa sezione nomineremo i quattro principali processi di ottimizzazione, ma soprattutto; alcuni aspetti da tenere in considerazione, per migliorare i tempi di risposta, che è il punto principale di questo post. Una cosa molto importante da tenere in considerazione è avere la presenza di un piano (che abbiamo già nominato prima), perché in questo modo il processo accelererà notevolmente.

Altra cosa rilevante è la scelta di una strategia, per poter svolgere l'intero processo di consultazione; Questa, a sua volta, sarà divisa in due, che saranno: la selezione di un algoritmo, che si occupa di eseguire l'operazione; e selezionare indici, ben dettagliati e concreti, poiché eviterebbe problemi e ritardi.

Quanto al piano da realizzare, esso si compone di due fasi o stadi di cui tener conto; strettamente correlato all'ottimizzazione. La prima fase consiste in: generazione di espressioni logiche, che sono legate all'espressione principale; Con "espressioni", ci riferiamo alle azioni specifiche date, per la ricerca o l'ottenimento dei dati, quindi, le altre espressioni devono quindi essere correlate a quella principale.

La seconda fase, visto che sulla base della prima si otterranno risultati certi; In questa nuova fase dovranno essere registrati questi risultati, che saranno nuove espressioni logiche; che serviranno come alternative per poter generare successivamente piani di valutazione, quindi sarà molto importante.

Quanto sopra migliorerà notevolmente i tempi di risposta alle richieste. Tuttavia, è possibile tenere a mente i seguenti punti, per una migliore efficienza ed efficacia nell'interrogare i dati: essere chiari su un buon punto di partenza per iniziare con le fasi successive; offrono un certo grado di libertà, che è sufficiente, in modo che possano essere apportate ulteriori ottimizzazioni alla query.

Nel prossimo video che vi lasceremo di seguito, potrete approfondire la ottimizzazione delle query in modo grafico, che ti aiuterà a capire meglio tutto ciò che riguarda questo aspetto dell'informatica. Poiché per iscritto è abbastanza difficile cercare di spiegarlo.


Lascia un tuo commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati con *

*

*

  1. Responsabile dei dati: Actualidad Blog
  2. Scopo dei dati: controllo SPAM, gestione commenti.
  3. Legittimazione: il tuo consenso
  4. Comunicazione dei dati: I dati non saranno oggetto di comunicazione a terzi se non per obbligo di legge.
  5. Archiviazione dati: database ospitato da Occentus Networks (UE)
  6. Diritti: in qualsiasi momento puoi limitare, recuperare ed eliminare le tue informazioni.