Lorenzo Benaglia


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

Anno 2009

Anno 2008

Anno 2007

Anno 2006

Anno 2005
Calendario
novembre 2024
lmmgvsd
28293031123
45678910
11121314151617
18192021222324
2526272829301
2345678

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: 966.597
  • Views Posts: 715.125
  • Views Gallerie: 13.667.834
  • n° Posts: 300
  • n° Commenti: 314
Mappa





















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