Lorenzo Benaglia


Storie di un SQLlaro mannaro...
Archivio Posts
Anno 2010

Anno 2009

Anno 2008

Anno 2007

Anno 2006

Anno 2005
Calendario
aprile 2024
lmmgvsd
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

XP per la generazione di GUIDs sequenziali

Giusto ieri Andrea Montanari mi ha segnalato l'ennesima Extended Stored Procedure di Gert Drapers, quest'ultima dedicata alla generazione di GUIDs sequenziali.
A cosa potrebbe servire? Vediamo un esempio.
La funzione NEWID() di SQL Server 2000 genera valori che sono più o meno random.
Nel caso in cui si decida di definire un indice su una colonna GUID valorizzata tramite NEWID(), possono sorgere seri problemi di page splitting dato che le righe saranno inserite in modo casuale nel leaf level delle index pages (nel caso di indici clustered ricordiamo che il leaf level dell'indice coincide con le data pages) e questo obbliga il DBA alla ricostruzione regolare degli indici.
L'XP xp_guid_new_sequential_guid e la funzione fn_new-sequential_guid() generano invece GUIDs sequenziali, eliminando di fatto il problema della frammentazione degli indici dato che tutte le nuove righe saranno accodate (un po' come avviene definendo un indice clustered su una colonna avente l'attributo IDENTITY).
Trovate la documentazione completa ed il link per il download a partire dalla seguente pagina: http://www.sqldev.net/xp/xpguid.htm

Sul sito SQLDev.Net troverete decine di altre XP estremamente utili ed interessanti che potrete utilizzare quotidianamente nei vostri progetti
Categoria: SQL Server
mercoledì, 15 giu 2005 Ore. 22.43
Statistiche
  • Views Home Page: 933.222
  • Views Posts: 698.327
  • Views Gallerie: 12.659.940
  • n° Posts: 300
  • n° Commenti: 314
Mappa





















Copyright © 2002-2007 - Blogs 2.0
dotNetHell.it | Home Page Blogs
ASP.NET 2.0 Windows 2003