سؤال

لديّ سيناريو حيث أقوم بدمج جدولين في واحد (باستخدام الاتحاد) وأيضًا الانضمام إلى البيانات من بعض الجداول الأخرى.

يمكنني القيام بذلك إما باستخدام طريقة عرض أو وظيفة محددة UDF/المستخدم.

بالنظر إلى أنه ليس لدي أي طريقة عرض حتى الآن في قاعدة البيانات الخاصة بي ، ولكن هناك عدد قليل من UDF للبحث عن النص الكامل وما شابه ، أنا مغري استخدام UDF لهذا السيناريو للحفاظ عليه "نظيف".

ومع ذلك ، هذا أمر شخصي تمامًا وتساءلت عما إذا كان هناك سبب موضوعي أفضل للذهاب إما لفرض أو UDF في هذا السيناريو.

لقد قارنت خطط الاستعلام لكليهما وهي نفسها بالضبط لذلك لا أعتقد أن هناك عقوبة أداء أو ميزة لاستخدام أي منها.

هل هناك سبب آخر لاختيار واحد على الآخر أم أنه لا يهم؟

هل كانت مفيدة؟

المحلول

كنت دائماً أستخدم الميزات بترتيب التطور. العرض واضح نسبيًا من حيث ملف تعريف الأداء وإدارة الأمان. ربما سأستخدمها أولاً.

أفترض أنك تتحدث عن UDF ذات القيمة المضمنة ، والتي سيكون لها خصائص أداء متطابقة إلى حد كبير. يختلف الأمان على UDF قليلاً ولا يمكن أن يكون لديك بدلاً من المشغلات لتتمكن من القيام "بإدراج" في العرض. ستكون ميزة UDF هي أنه يمكنك إجبار المعلمات على توفيرها ، وبالتالي ضمان أن تكون أنماط الاستخدام كما هو متوقع ، في حين يمكن الاستعلام عن وجهة نظر دون أي معايير (ربما عن طريق الخطأ).

إذا انتهى بك الأمر إلى الرغبة في الحصول على UDF للترويج ، فيمكنك وضعه فوق العرض (لذلك لا يوجد ازدحام رمز) ويجب أن تجد أن الأداء لا يتأثر بشكل كبير ، لأن المُحسّن يمكنه الجمع بنجاح.

نصائح أخرى

تتمثل إحدى الميزات التي أراها باستخدام هذا السيناريو في طريقة عرض فهرسة لها واستخدامها كـ "طرق عرض مفهرسة" حيث يوجد على عكس العرض التقليدي هناك ملفًا فعليًا يتم إنشاؤه وبالتالي يكون الاستعلام أسرع حيث يوجد قدر كبير من الصفوف فيه. إن تأثير استخدام هذا هو تجاوز الوصلات والنقابات لجميع الصفوف بدلاً من ذلك فقط بناءها على صفوف جديدة.

كما اقترح صديقنا Cade ، يمكنك استخدام طريقة عرض داخل UDF للحفاظ عليها نظيفة ولا تختلف كثيرًا.

أتمنى أن يساعدك هذا !

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top