Browse by Tags

Related Posts
  • Blog Post: Caricamenti massivi e best practices. L’ordine corretto delle cose

    In scenari di caricamenti massivi la best practice è sempre una, detta e ridetta: DROP indici caricamento massivo CREATE indici Bene. Ora la domanda è: in che ordine eseguo le singole operazioni? Intendo dire: Supponendo che la mia tabella abbia sia un indice cluster, che uno o più indici noncluster...
  • Blog Post: NVarchar(4000) vs. NVarchar(x). O anche: “Ti piace vincere facile?”

    Certo il titolo non è dei più chiari, però correggo subito la domanda con la risposta (provocatoria): “ Ti piace perdere facile! ”. Vengo allo scenario. Ogni colonna all’interno del database, che andrà a contenere del testo, viene modellata come NVarchar(4000) . Perchè? Perchè così sono sicuro di poter...
  • Blog Post: T-Log e numero di file e …

    … installazioni che hanno database con diversi file dati e… diversi Transaction Log. Se ha sicuramente e sempre senso avere più file dati (e magari ne parleremo in maniera approfondita in un altro post), NON ha alcun senso avere più di un T-Log. Questo file , che viene utilizzato per garantire l’integrità...
  • Blog Post: Tempdb, data files & performance

    Un’istanza SQL Server ha un solo tempdb e, per questo e per il fatto che molte attività lo possono utilizzare in maniera intensiva, potrebbe diventare un collo di bottiglia. Per verificare problemi di performance posso iniziare controllando la contesa delle risorse tramite la DMV sys.dm_os_waiting_tasks...
  • Blog Post: Monitoring Reporting Services Performance

    A partire dal SQL Server 2008 R2, fare analisi sulle performance dei reporting services è diventato ancora più semplice con l’aggiunta, all’interno del database ReportServer (o ReportServer$<nome istanza> ), della vista [ExecutionLog3]. In questa vista, tre sono le informazioni in grado di farci...
  • Blog Post: E i DECIMAL con scala a 0 ?

    Inizio con una domanda, non me ne vogliate. Chi di voi ha mai visto / creato colonne di tipo DECIMAL con scala uguale a 0?   Intendo dire qualcosa come: CREATE TABLE myTable ( ... myColumn DECIMAL ( 3 , 0 ) , ... );   Chi di voi si è mai chiesto che senso ha creare colonne...
  • Blog Post: Database fine tuning. Talking about duplicate statistics

    Continuo, anche in questo post, i ragionamenti relativi al fine tuning dei nostri database. Quindi a tutte quelle operazioni che possono apportare delle migliorie in termini di performance (sono solo operazionali, ma anche di manutenzione, di backup / ripristino, ...). Un argomento molto importante e...
  • Blog Post: Thinking about Data Compression

    Nell’ultimo post, qui , ho parlato di come poter comprimere i dati, tramite SQLCLR , per quelle colonne che contengono informazioni che non possono essere compresse con gli strumenti nativi che SQL Server, dalla versione 2008 nelle edizioni Enterprise o Datacenter, mette a disposizione. In questo post...
  • Blog Post: Austerity e la patrimoniale sui bytes

    In periodo di austerity mi chiedo solo perchè nessuno si preoccupi mai di “tagliare” i bytes in eccesso sui propri database… :-) Non potremmo mettere tutta la nostra attenzione anche nella costruzione dei nostri database e risparmiare ciò che è inutile, superfluo e alla lunga dannoso? Vi siete mai chiesti...
  • Blog Post: Data Compression, data pages, XML & SQLCLR

    Chiunque si occupi di database sa, è evidente, che la loro dimensione aumenta nel tempo. Aumentano i dati, quindi gli indici, quindi lo storage necessario, quindi le dimensioni dei backup, quindi i tempi di manutenzione, quindi … A partire dalla versione 2008, SQL Server offre la possibilità di gestire...
  • Blog Post: [T-SQL] Insert dummy and test data in tables

    Lavorando con applicazioni database mi rendo conto che c’è una fase importantissima che troppo spesso viene trascurata: il test delle performance sui presunti carichi che si dovranno sostenere. Mi spiego con una domanda: qual 'è il senso di testare le nostre applicazioni con due, cinque, dieci righe...
  • Blog Post: Insert dummy data in tables with relationship

    Torno spesso sull’argomento relativo ai test di carico / performance dei database e sull’importanza di poter profilare l’utilizzo che avranno con una mole di dati quantomeno simile allo scenario di produzione. Diventa importante, quindi, avere un qualsivoglia meccanismo di generazione automatica di dati...
  • Blog Post: Autogrow come il cortisone

    Iniziamo bene: come il cortisone anche l’autogrow salva la vita. Ma, come per il cortisone, è il caso di non abusarne ma, piuttosto, di utilizzarlo solo quando non se ne può fare a meno.   L’inizio del post è un pò “farmaceutico” ok, ma credo che possa far arrivare meglio il concetto e le motivazioni...
  • Blog Post: Stored Procedure e DROP esplicito delle tabelle temporanee

    Nelle attività di performance tuning sono molti i “dettagli” che possono aiutare a guadagnare tempo prezioso. Anche poco, d’accordo, ma sempre di un risparmio si tratta.   Un esempio: se trovo, all’interno di una stored procedure, una DROP di una tabella temporanea la elimino.   Sappiamo, o...