Archivi categoria: T-SQL

Statistiche di utilizzo e performance delle viste in un database SQL Server

Sorgente: UGISS | Autore: Sergio Govoni

Le performance di una soluzione database sono spesso oggetto di diatriba tra chi fornisce la soluzione e chi la personalizza. Scrivere codice T-SQL ottimizzato, in grado di scalare all’aumentare dei dati e degli utenti, non è affatto semplice e quando la complessità aumenta, le attività di manutenzione del codice diventano difficili da attuare anche per …

Leggi il resto dell'articolo su: https://www.ugiss.org

PASSGIVC – TSQL Advanced for Grouping and Windowing

Sorgente: UGISS | Autore: Sergio Govoni

Il prossimo webinar del PASS Italian Virtual Chapter è programmato per mercoledì 21 marzo 2018 alle ore 18:00.

Andrea Martorana Tusa (@bruco441) ci spiegherà come utilizzare il linguaggio T-SQL in modo avanzato per effettuare operazioni di grouping e utilizzare le funzioni di windowing, nel webinar dal titolo “T-SQL advanced: Grouping and Windowing”. read more

Leggi il resto dell'articolo su: https://www.ugiss.org

Esempi di SQL Graph Database su GitHub

Sorgente: UGISS | Autore: Sergio Govoni

SQL Server offre da sempre gli strumenti per gestire i dati gerarchici e le relazioni tra le entità. A volte, però, le relazioni tra le entità possono diventare complesse. Pensiamo ad una relazione molti-a-molti, i database relazionali non dispongono di soluzioni native per questo tipo di legame, che viene comunemente implementato con una tabella di associazione.

SQL Server 2017, grazie all’introduzione di Graph Database, permette di esprimere certi tipi di query più facilmente rispetto ad un database relazionale puro. read more

Leggi il resto dell'articolo su: https://www.ugiss.org

Conversioni implicite: cosa sono e che impatto hanno sulle nostre query

Sorgente: UGISS | Autore: Luca Bruni

Come credo alla maggior parte di voi, spesso, anche a me capita di dover mantenere codice scritto da qualcun altro. Uno degli aspetti che (ri)trovo con una certa frequenza è che, spesso, non prestiamo attenzione a come scriviamo le nostre query, sottovalutando l’impatto che queste possono avere sul nostro sistema.

Proprio recentemente mi sono imbattuto in una serie di batch (dalle semplici query a complesse procedure) dove non si era prestata la dovuta attenzione all’utilizzo dei tipi dato (ad esempio nella definizione di variabili e costanti, ma anche nelle colonne delle stesse tabelle), andando di fatto a creare qualche inconveniente, oltre che di mera natura estetica (e quindi di qualità del codice), anche (e soprattutto) di natura prestazionale. Buona parte di questi problemi era dovuta all’utilizzo frequente delle funzioni di conversione CAST e CONVERT (dovuti a probabili errori di modellazione delle tabelle come ad esempio stessa colonna in due tabelle differenti ma con differente tipo dato), ma la parte più critica e rilevante era dovuta  alla presenza di una miriade di conversioni implicite. read more

Leggi il resto dell'articolo su: https://www.ugiss.org

Come calcolare il check-digit di un barcode in T-SQL

Sorgente: UGISS | Autore: Sergio Govoni

Chi ha avuto l’opportunità di sviluppare software per la movimentazione delle merci, sa che per identificare, memorizzare e gestire in modo efficiente la movimentazione dei prodotti all’interno di un magazzino, è necessario adottare un sistema di movimentazione basato su codici a barre. Un codice a barre è la rappresentazione grafica di una sequenza di numeri …

Leggi il resto dell'articolo su: https://www.ugiss.org

TOP(n) WITH TIES, nuova feature? No, é sempre esistita!

Sorgente: UGISS | Autore: paSQuaLe ceglie

C’è ancora chi si meraviglia davanti all’opzione WITH TIES. Molti non sanno che esiste o ne sottovalutano l’utilità. Consideriamo la query SELECT TOP 3 Name, ListPrice FROM SalesLT.Product ORDER BY ListPrice ASC; Questa query ritornerà i primi 3 articoli ordinati per ListPrice crescente. L’opzione WITH TIES indica che, invece di restituire solo il numero richiesto …

Leggi il resto dell'articolo su: https://www.ugiss.org

Uso “nascosto” del tempdb

Sorgente: UGISS | Autore: Luca Bruni

Qualche settimana fa, mentre ero al lavoro, mi sono ritrovato a dover risolvere un problema apparentemente non molto strano, ma che tuttavia nasconde qualche retroscena interessante. I fatti sono stati più o meno questi: Circa a metà mattinata mi è stato segnalato un problema di prestazioni su uno dei sistemi che abbiamo in gestione nel nostro team di lavoro; …

Leggi il resto dell'articolo su: https://www.ugiss.org