كيفية استبدال كافة GUIDs غير متسلسلة متتابعة بأخرى؟
-
06-07-2019 - |
سؤال
ولدي قاعدة بيانات SQL Server 2005 الميدان البني يستخدم المعيار، المعرفات الفريدة العمومية التي لم يتم فرزها حيث الغالبية من القيم المفاتيح الأساسية، وكذلك في مؤشرات مجمعة (وهو شر الأداء).
وكيف يجب أن تذهب نحو تغيير هذه لالمعرفات الفريدة العمومية متتابعة؟ سيكون واحدا من التحديات يكون لاستبدال كافة القيم الأساسية الخارجية وأنا تغيير كل المفتاح الأساسي.
هل تعرف من أي أدوات أو برامج نصية لتنفيذ هذا النوع من التحويل؟
المحلول
وتذكر أنه يمكنك فقط استخدام الدالة newsequentialid () كقيمة افتراضية
وحتى إنشاء جدول جديد مع 2 الأعمدة. أدخل المفتاح منك الجدول الأصلي في هذا واحد (اترك العمود الآخر من ذلك سوف تملأ نفسها)
والانضمام إلى الجدول الأصلي وتحديث PK مع newsequantialid، إذا كان لديك سلسلة بتحديث FKS يجب تحديث بأنفسهم
نصائح أخرى
وكيف تعرف انها سيئة للأداء؟
وميزة المعرفات الفريدة العمومية هي أن لم يكن لديك ما يدعو للقلق عدة عمليات إنشاء سجلات في نفس الوقت. ويمكن أن تبسيط التعليمات البرمجية بشكل كبير، وفقا للبرنامج.
وSequentialGuids هي الأفضل لأداء عندما ارشد هو PK. وهذا هو السبب وراء وجودها.