কীভাবে পৃথক স্কিমা ব্যবহার করে এসকিউএল সার্ভার ২০০৮ এর কার্যকারিতা প্রভাবিত করে?


11

আমি আমাদের এসকিউএল সার্ভার ২০০৮ ডাটাবেসে বিভিন্ন উদ্দেশ্য সহ বস্তুর জন্য পৃথক স্কিমার ব্যবহার করতে চাই। এই মুহূর্তে আমরা একটি সারণী বা সঞ্চিত পদ্ধতির উদ্দেশ্যটি নির্দেশ করতে মোটামুটি নোংরা নামকরণ কনভেনশন ব্যবহার করি এবং উপসর্গটির অর্থ অনন্য নামের শুরু হওয়ার আগেও আমাদের পাঁচ বা ছয় এক্সহ্যাকার্টার স্ক্যান করতে হবে। আমি সারণীগুলির জন্য পৃথক স্কীমা ব্যবহার করতে চাই যা কেবলমাত্র ইউআই চালানোর জন্য ব্যবহৃত হয় (মেনুগুলি, ব্যক্তি দ্বারা রোলস ইত্যাদি) এবং তাদের জন্য যেগুলি মাত্রা সারণী বনাম ফ্যাক্ট টেবিল ইত্যাদি drive

আমার প্রশ্ন হ'ল, একাধিক স্কিমার (স্কিমে?) ব্যবহার করে পারফরম্যান্সের প্রভাবগুলি কি সমস্ত কিছুর জন্য ভাল পুরানো ডিবিওর বিরোধিতা করেছিল?

উত্তর:


4

আপনার কোডিং শৈলীর উপর নির্ভর করে ছোট্ট একটি হলেও ক্যোরিউটি অপ্টিমাইজারের পারফরম্যান্সে প্রভাব থাকতে পারে। আপনি যদি কোনও স্কিমা ছাড়াই কোনও টেবিলটি উল্লেখ করেন তবে অপটিমাইজারটি প্রথমে ব্যবহারকারীদের ডিফল্ট স্কিমা (যদি সেখানে থাকে) এর মধ্যে সারণীগুলি পরীক্ষা করে প্রথমে টেবিলটি সনাক্ত করার চেষ্টা করতে হবে, তারপরে ডিবিও, এবং অন্য সব কিছু ব্যবহার করে। আপনি যদি স্পষ্টরূপে টেবিলগুলি স্কিমা.ট্যাবল হিসাবে উল্লেখ করেন তবে এটি সম্ভবত ভাল অনুশীলন, তবে এমনকি এই ছোটখাটো ওভারহেড এড়ানো হবে।


1

পারফরম্যান্সে কোনও পার্থক্য নেই। তবে আপনি এখনই স্কিমা ব্যবহার করছেন (আপনি এটি না জানলেও)।

স্কিমা উল্লেখ ব্যবহার যেমন টেবিল, সঞ্চিত পদ্ধতি UDFs, ইত্যাদি যে বস্তু যেমন, না স্কিমা-যোগ্যতাসম্পন্ন নেই একটি কার্যকারিতা প্রভাব আছে। উল্লেখগুলি সর্বদা স্কিমা দ্বারা যোগ্য হওয়া উচিত should এই জাতীয় অযোগ্য তথ্যসূত্রগুলি সমাধান করতে হবে এবং এটি এরকম ঘটে:

  • প্রথমে একই নামের কোনও অবজেক্ট সন্ধান করুন এবং ব্যবহারকারীর ডিফল্ট স্কিমা অনুযায়ী টাইপ করুন যার শংসাপত্রগুলির অধীনে সেশনটি প্রতিষ্ঠিত হয়েছিল (উদাঃ jsmith)। যদি পাওয়া যায় তবে সেই দৃষ্টান্তটি ব্যবহৃত হয়।
  • অন্যথায়, একই নামের কোনও বস্তুর সন্ধান করুন এবং স্কিমাটির নীচে টাইপ করুন dbo

এর বেশ কয়েকটি প্রভাব রয়েছে:

  • বেশিরভাগ সময়, রেফারেন্সটি স্কিমি-কোয়ালিফাই করা থাকলে একক অনুসন্ধানের চেয়ে রেফারেন্সটি সমাধান করার জন্য দুটি অনুসন্ধানের প্রয়োজন হয়।
  • যখন ক্যোয়ারী / সঞ্চিত পদ্ধতি / ব্যবহারকারী-সংজ্ঞায়িত ফাংশনটি আবদ্ধ থাকে তখন কার্যকর করা পরিকল্পনাটি ক্যাশেড এবং পুনরায় ব্যবহার করতে পারে না obtained

চূড়ান্ত প্রভাব যা আপনি কেবলমাত্র — বেদনাদায়ক find সন্ধান করবেন যখন কোনও কিছু ভেঙে যায় তা হল যে বিভিন্ন ব্যবহারকারীগণ প্রদত্ত কোয়েরি বা সঞ্চিত পদ্ধতি থেকে বিভিন্ন ফলাফল পেতে পারে। select * from foo join barডিবি মালিক হিসাবে এমন কিছু আমার পক্ষে ভাল কাজ করতে পারে; এটি ব্যবহারকারীর জন্য ভেঙে যেতে পারে jsmithযারা অযৌক্তিকভাবে বা না হয়ে একই ডাটাবেজে fooনিজের স্কিমার ( jsmith.foo) নামে একটি সারণী তৈরি করেছিলেন ।

এই কারণে, createএবং dropবিবৃতিতেও তৈরি হওয়া বা বাদ দেওয়া অবজেক্টটির নাম স্কিমা-যোগ্য হওয়া উচিত।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.