Partitioning using uniqueidentifier field

  • I want to know if it is possible to partition data in sql 2005 using the uinqueidentifier field. If yes how to go about it and will it have any performance issues?

    Thanks

    CP

  • Yes, it's possible (as per BOL: "Any column whose data type can be used as an index key can also be specified as a partitioning column, except the timestamp data type") But you should think twice before doing this, I mean how you create and use Partition function with uniqueidentifier data type

  • Be aware the uniqueidentiier values are random and therefore I would have thought not a good value to partition by.

    If you have to use this use it in conjunction with NEWSEQUENTIALID ( )

    so the values are increasing

    ---------------------------------------------------------------------

  • 1) GUIDs have many VERY bad downsides for performance

    2) Partitioning is a VERY advanced and complex topic. PLEASE do yourself and your company a favor and don't just read a few blog posts and BOL and slap something together and throw it into production. I can't tell you the number of clients/users I have come across that have messed things up and CAUSED problems by trying to do that. Note also that partitioning is NOT primarily a performance-enhancing mechanism. It exists mainly for maintenance/administrative reasons although it CAN provide a significant boost to throughput in some scenarios. Get a professional to help you evaluate your needs and come up with a plan and implementation and monitoring that will succeed!

    Best,
    Kevin G. Boles
    SQL Server Consultant
    SQL MVP 2007-2012
    TheSQLGuru on googles mail service

Viewing 4 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic. Login to reply