ডিবি কর্মক্ষমতা সর্বাধিক করতে, এসএসআইএস এর মাধ্যমে এসকিউএল সার্ভার ২০০৮-এ প্রচুর পরিমাণে ডেটা লোড করার পরে কোন আদেশগুলি চালানো উচিত


11

খালি ডাটাবেসে পরীক্ষার ডেটা লোড করার জন্য আমি একটি এসআইএসআই প্যাকেজ লিখেছি। কিছু সারণী খুব বড় (~ 700 মিলিয়ন ডলার)। এসএসআইএস প্যাকেজটি শেষ হয়ে গেলে ডেটাবেসের কার্যকারিতা সর্বাধিক করে তোলার জন্য আমার কোনও আদেশ (শিক্ষানবিশ ডিবিএ হিসাবে!) চালানো উচিত?

উদাহরণস্বরূপ, আমি মৃত্যুদন্ড কার্যকর করেছি EXEC sp_updatestatsতবে এটি জানিয়েছে যে কোনও সূচকে আপডেট করার প্রয়োজন নেই।

একবার প্রচুর পরিমাণে ডেটা লোড হয়ে যাওয়ার বা এসকিউএল সার্ভার ২০০৮-এ করার জন্য কী কী কাজ করার একটি তালিকা রয়েছে?

উত্তর:


8

আপনি যদি খালি ডাটাবেসে লোড করছেন তবে কোনও অতিরিক্ত রক্ষণাবেক্ষণের পদক্ষেপ পোস্টের লোডের প্রয়োজন এড়াতে আপনি পদক্ষেপ নিতে পারেন / করতে পারেন। খণ্ডন হ'ল শত্রু, এটাই আপনি এড়াতে চাইছেন।

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

অনুলিপি এবং পেস্ট করার পরিবর্তে, আমি আপনাকে ইসিটি অপ্টিমাইজেশনের জন্য খুব বিস্তৃত তালিকাটির দিকে নির্দেশ করব @ মারিয়ান বিসিপিতে জিজ্ঞাসা করা একটি প্রশ্নের উত্তরে একসাথে রেখেছি । এর মধ্যে অনেকগুলি আপনার দৃশ্যে সমানভাবে প্রযোজ্য হবে।


2
আকর্ষণীয়, এসকিউএলএক্যাট এবং এসএসআইএস থেকে প্রাপ্ত ভিডিওগুলির লিঙ্কে তাদের সন্ধানটি কখনও কোনও এনসি সূচক ছাড়েনি। অনুমান করুন এটি "এটি নির্ভর করে" এর আরও একটি ঘটনা
বিলিংক

2
@ বিলিংক যে খালি ডাটাবেসের চেয়ে এই প্রশ্নটি খুব বেশি বোঝানো হয়েছে, তা কি ইনক্রিমেন্টাল লোডের জন্য নয়? যে কোনও উপায়ে, এসকিউএলএকেট টেস্টিং সাধারণত সংস্থাগুলিতে খুব কমই দেখা যায় এমন একটি শ্রেণীর হার্ডওয়্যার জড়িত থাকে।
মার্ক স্টোর-স্মিথ

5

এটি আপনার কতটা উইন্ডো রয়েছে তার উপর নির্ভর করে তবে সাধারণত পরিসংখ্যান আপডেট করে এবং সূচি পুনর্গঠন / পুনর্গঠন করা ভাল পদক্ষেপ। এটি ছাড়া আপনার সত্যিকারের আর কিছু করার দরকার নেই।

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

তথ্য যুক্ত হওয়ার সাথে সাথে সূচীগুলি খণ্ডিত হয়ে উঠতে পারে। পুনর্নির্মাণ বা পুনর্গঠন এটি হ্রাস করতে সহায়তা করে যা আসলে আপনার ডেটা অ্যাক্সেস করার সময় উন্নত পারফরম্যান্সের দিকে নিয়ে যেতে পারে।


4
ইনডেক্সের লাইনের সাথে এসকিউএলএকএটি-র এসএসআইএস ভিডিওগুলির মধ্যে একটিতে তারা থাম্বের একটি নিয়মও পরামর্শ দেয় যে আপনার ডেটা বৃদ্ধি যদি 100% হয় এবং একটি এনসিআই থাকে তবে সেগুলি ফেলে দিন এবং পুনরায় তৈরি করুন। এটি যদি 10% এরও বেশি হয় এবং 2+ এনসিআই থাকে তবে ড্রপ এবং পুনরায় তৈরি করা ভাল কর্মক্ষমতা অর্জন করবে।
বিলিংক

2
কেবল বিলের মন্তব্য স্পষ্ট করার জন্য - আমি মনে করি তিনি পরামর্শটি বলছেন যে ড্রপ-তৈরি করার সময়টির অর্থ তারা হ'ল ড্রপ সূচক, আপনার ডেটা লোড করুন, তারপরে আপনার সূচকটি পুনরায় তৈরি করুন ... বরং লোড চলাকালীন সূচীটি (এস) ছেড়ে যান এবং পরে পুনর্নির্মাণ। আমার মনে হয় যাইহোক :-) এবং হ্যাঁ, দুর্দান্ত পয়েন্ট, আমি মন্তব্যটি +1 করছি।
মাইক ওয়ালশ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.