Database

sharding

Cosa è il database sharding?

Introduzione Ogni applicazione che utilizza un database deve pensare a come gestire un aumento delle richieste e dell’utilizzo di questa ultima senza comprometterne l’usabilità. Rendere scalabile l’applicazione non deve compromettere la sicurezza e l’integrità dei dati. Un ulteriore requisito importante è sviluppare l’architettura di un

WITH – Common Table Expression

Le Common Table Expression forniscono una sintassi alternativa per evitare l’accumularsi di query innestate: permettono di creare delle tabelle temporanee basandosi sui risultati di una query, in modo che possano poi essere utilizzati successivamente. L’espressione di tabella comune è derivata da una query semplice e

Utilizzare la clausola ROLLUP

Talvolta voglio eseguire una query che mi fornisca dei risultati aggregati di media, min, max… ma anche dei risultati sull’intero rowset senza aggregazione. Per avere questo risultato SQL Server (ma anche PostgreSQL e MySQL) posso usare la clausola ROLLUP. Per esempio assumiamo di avere la

Perchè dovresti usare le TRANSACTION quando lavori

1.Introduzione Una transazione è detta una sequenza di operazioni effettuate da una singola unità logica di lavoro. Se la transazione viene eseguita correttamente, viene eseguito il commit di tutte le modifiche dei dati apportate durante la transazione e tali modifiche diventano parte permanente del database.

Come utilizzare le window functions?

1. Introduzione Sviluppando query complesse nasce la necessità di partizionare ed eventualmente ordinare un set di righe prima dell’applicazione di una funzione. SQL Server (e PostgreSQL) forniscono la clausola OVER e PARTITION BY per poter raggruppare i dati secondo un set di righe specificato dall’utente.

Il comando COALESCE

Il comando COALESCE (Standard ANSI, SQL-92 compatibile) è un comando estremamente comodo che valuta gli argomenti seguendo l’ordine e restituisce il valore corrente della prima espressione che inizialmente non restituisce NULL. L’espressione COALESCE è una scorciatoia sintattica dell’espressione CASE. Il codice di COALESCE(expression1,…n) viene quindi

Trasformare il risultato di una SELECT in una stringa

Talvolta può capitare l’esigenza di fornire come risultato di una query non una lista di campi, ma un solo campo formato da una lista concatenata, che sono i valori risultanti della query in questione. Assumiamo di avere una SELECT che mi ritorna una colonna di

Indici

1.Introduzione Gli indici progettati in modo non corretto e la mancanza di indici costituiscono le cause principali dei colli di bottiglia delle applicazioni di database. La progettazione di indici efficienti è fondamentale per ottenere buone prestazioni del database e dell’applicazione. Un indice è una struttura

Correlare dati tra tabelle con il ROW_NUMBER

Le window function sono un argomento molto ampio e meriteranno un approfondimento in un articolo ad hoc, ma riassumendo queste funzioni permettono di partizionare ed eventualmente ordinare un set di righe prima dell’applicazione di una funzione. La clausola OVER definisce un set di righe specificato

Cursori

Questo articolo segue direttamente quanto indicato sulla documentazione ufficiale Microsoft sull’utilizzo dei cursori, conseguentemente la sintassi indicata è quella TSQL, ma i cursori sono definiti anche in altri tipi di DBMS come MySql o PostgreSQL. Introduzione Un cursore offre la possibilità di elaborare un set

Codice Pragmatico

Contatti

Per informazioni, dubbi o consulenze non esitate a contattarmi.

Lascia un messaggio

Ricevi le ultime news

Iscrivi alla newsletter

Solo articoli interessanti, promesso ;)