Unicode, VARCHAR, NVARCHAR e indici in SQL Server

Se pensate di non avere problemi con Unicode perché non lo usate e preferite i buoni vecchi VARCHAR, fermatevi un attimo e leggete.


Ho scritto un post sul mio blog in inglese che descrive un problema riscontrato sul campo: in breve, confrontando un VARCHAR con una costante Unicode, SQL Server potrebbe non usare un indice e di conseguenza rallentare molto alcune query, specialmente se questo innesca un effetto cascata… Credo valga la pena leggerlo perché se vi capita non è banale capire come uscirne…

Academic Club

La scorsa settimana sono stato a trovare alcuni amici dell’Academic Club, che mi hanno fatto notare come sia difficile comunicare l’esistenza della loro comunità agli studenti di tutte le facoltà sparse per l’Italia.


Nel mio piccolo, visto che questo blog magari è letto anche da studenti universitari, volevo segnalare l’esistenza di questa associazione, che è aperta a ricercatori, dottorandi e studenti con la passione per l’informatica. Riporto il comunicato stampa che consente di saperne di più e segnalo la pagina a cui chi è interessato ad aderire può inviare il proprio CV.



L’Academic Club è un forum universitario italiano formato da ricercatori, dottorandi e studenti con la comune passione per l’informatica e la voglia di condividere ed accrescere le proprie conoscenze.


Il nostro obiettivo è quello di essere dinamici e attivi, al fine di coinvolgere e stimolare gli studenti universitari. Proprio per questo motivo, abbiamo deciso di aprire alcune posizioni dell’organico per coinvolgere nuovi membri all’interno della associazione.


Siamo alla ricerca di studenti qualificati, in grado di dare un supporto effettivo alla comunità: premieremo i più talentuosi in tutte le università italiane in base alla loro passione, coinvolgimento e interesse nella tecnologia.


Se sei interessato a prendere parte attivamente all’Academic Club, non devi fare altro che mandarci il tuo Cv: una giuria interna selezionerà i migliori CV e si metterà quindi in contatto con te.


Ti ricordiamo che in questo campo la cosa più importante è la passione e la voglia costante di imparare e di aggiornarsi: in cambio del tuo impegno per Academic Club, grazie alla nostra collaborazione con Microsoft, sarai costantemente aggiornato sulle ultime novità e potrai accrescere la tua formazione professionale.


COME CANDIDARSI
E’ sufficiente mandare il proprio CV attraverso il sito www.academiclub.org.


PERCHE’ CANDIDARSI

  • Accesso a eventi e seminari completamente gratuiti
  • Accesso a software Microsoft
  • Conoscenza delle ultime tecnologie informatiche
  • Certificazione delle tue esperienze
  • Confronto con i più importanti esperti di tecnologie Microsoft
  • Formazione gratuita su Vista e il .Net Framework 3.0

Un motore di ricerca da sviluppatori

Niente paura: è sempre Google…


Però si dà il caso che esista anche Google Code Search, che consente di fare ricerche nel codice che si trova su Internet.


Beh, si tratta di una cosa veramente potente: facendo questa ricerca ho scoperto un sacco di codice che non saprei più dove recuperare sui miei dischi.


Ma il massimo è stato fare quest’altra ricerca che mi ha portato a scovare questo sorgente che non ricordavo di aver scritto nel mio libro sul CLR.


Scusate, non voleva essere un momento di autocelebrazione, ma semplicemente la condivisione di una curiosità. Anzi, forse è anche un modo per vedere se qualcuno vi ha scopiazzato qualche sorgente, rendendolo poi pubblico… 🙂

Conferenze a novembre

Dopo i nostri eventi di fine ottobre, novembre si presenta ricco di opportunità per chi vuole andare a seguire una conferenza all’estero.


A Barcellona si terranno due settimane di TechEd, una più da “sviluppatori” (7-10 novembre) e l’altra più da “sistemisti” (14-17 novembre). Chi invece ha voglia di andare oltreoceano può incontrarmi a Seattle alla SQL Pass 2006 (14-17 novembre).


Purtroppo a volte si sceglie unaa conferenza senza poter vedere l’agenda… e un po’ di rammarico ce l’ho perché a livello di contenuti ci sono a TechEd un numero di sessioni che definirei “molto interessanti” che a prima vista è superiore a SQL Pass, non fosse altro che per gli speaker.

In particolare, c’è una sessione sul funzionamento interno di Analysis Services tenuta da Richard Tkachuck (che fa parte del team di sviluppo) che di strano ha solo il livello (3 invece di 4, curioso per una sessione sugli internals di un prodotto. Su questi argomenti non esiste praticamente nessuna bibliografia ed è un po’ come quando ci si tramandava la conoscenza con il passa-parola… Segnalo anche un quartetto di sessioni di Anders Hejlsberg che spero saranno registrate (sono su C# 3.0 e Linq).

SQL Refactor in beta

Segnalo l’uscita della beta di SQL Refactor, un tool che mi sembra molto utile e che attendevo da tempo (non ho mai trovato un tool simile che funzionasse in maniera decente).


Non è perfetto, ne parlo anche nel mio blog in inglese, ma promette decisamente bene ed è già utilizzabile (visto che non mette a rischio nulla del proprio ambiente di sviluppo).

Modellazione dimensionale avanzata con Analysis Services 2005

Alla recente SQL Server Conference 2006 ho presentato una sessione dedicata alla modellazione dimensionale avanzata con Analysis Services 2005, sfruttando in particolare le relazioni molti-a-molti tra dimensioni per risolvere scenari che apparentemente non dovrebbero farne uso.


Pochi giorni fa ho pubblicato un lungo articolo che spiega in dettaglio la problematica e gli scenari: è un buon approfondimento e ripasso per chi ha seguito la sessione, ma anche una possibilità in più per conoscere l’argomento da parte di chi non era alla conferenza.


L’articolo si chiama The many-to-many revolution, tutti i dettagli sono sul mio blog in inglese, su SQLBI.EU è disponibile una pagina con il documento in PDF e i file di esempio, oltre a un forum di supporto.

Microsoft Interop Forms Toolkit

Microsoft ha rilasciato Microsoft Interop Forms Toolkit, che consente di integrare dei form scritti in VB.NET all’interno di un’applicazione VB6.


Consiglio a tutti di dare un’occhiata a questo video di 6 minuti che fa capire come funziona il tutto: il form viene creato normalmente in .NET e da qui ovviamente accede ai dati con ADO.NET (quindi si hanno connessioni diverse tra .NET e VB6, all’interno della stessa applicazione). Il punto debole è che il componente compilato in .NET diventa una DLL, che è esposta come oggetto COM a VB6, quindi con la relativa registrazione che impatta sul Registry.


Sinceramente sono un po’ perplesso (pensate solo al deployment e all’impatto sul processo host che oltre al runtime di VB6 si trova ad avere il CLR caricato), ma chiaramente questo componente può essere molto comodo a chi sta migrando il codice VB6 a .NET ma vuole aggiungere funzionalità a VB6 prima di arrivare a una versione completamente managed. In questo modo i nuovi form possono essere scritti direttamente in .NET per entrambe le versioni. Però mi chiedo se si riesca a tenere in piedi una struttura applicativa complessa con questo sistema senza rischiare di spendere veramente troppo in termini di integrazione.