অস্থায়ী টেবিলগুলিতে ডেটা লোড করার সময় ন্যূনতম লগিং পান


10

ডেটা লোডিং পারফরম্যান্স গাইড পড়ার পরেও , আমি এখনও নিশ্চিত নন যে লগ-ইন করার জন্য একটি ক্লাস্টারড ইনডেক্স দিয়ে সংজ্ঞায়িত একটি ফাঁকা অস্থায়ী টেবিলের সাথে ট্যাবলেট সারণির ইঙ্গিতটি যুক্ত করা দরকার কিনা।

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

একটি অস্থায়ী টেবিল কি ন্যূনতম লগিংয়ের জন্য প্রার্থী, এবং যদি তাই হয় তবে এটি স্থায়ী টেবিলগুলির জন্য প্রস্তাবিত ট্যাবলেট ইঙ্গিতটি যুক্ত করার মতো কী?

উত্তর:


18

আমি নিশ্চিত নই যে TABLOCKনূন্যতম লগিংয়ের জন্য একটি ক্লাস্টারড সূচক দিয়ে সংজ্ঞায়িত, খালি অস্থায়ী টেবিলের সাথে টেবিলের ইঙ্গিতটি যুক্ত করা দরকার কিনা I

না। স্থানীয় অস্থায়ী টেবিলগুলি ( #temp) তৈরি সেশনের ব্যক্তিগত , সুতরাং একটি টেবিল লক ইঙ্গিত প্রয়োজন হয় না। কোনও বিশ্বব্যাপী অস্থায়ী টেবিল ( ##temp) বা একটি নিয়মিত টেবিল ( dbo.temp) এতে তৈরি হওয়ার জন্য একটি টেবিল লক ইঙ্গিতের প্রয়োজন হবে tempdbকারণ এগুলি একাধিক সেশন থেকে অ্যাক্সেস করা যায়।

মনে রাখবেন যে সম্পূর্ণ ন্যূনতম লগিং অপ্টিমাইজেশানগুলি প্রয়োগ করা হয় না, এমনকি tempdbঅন্যান্য অপ্টিমাইজেশন থেকে উপকারী টেবিলগুলি যেমন লগ ইন REDOতথ্য প্রয়োজন হয় না । সারণি বা পৃষ্ঠাগুলি অননুমোদিত ব্যবহার করে লগ হচ্ছে কিনা তা পরীক্ষা করতে পারেন sys.fn_dblog। নিয়মিত লগিংয়ের মধ্যে সারি-লগড রেকর্ডগুলি প্রদর্শিত হবে LOP_INSERT_ROWS


নোট করুন যে TABLOCKস্থানীয় অস্থায়ী টেবিলটি যুক্ত করার জন্য INSERT...SELECTএসকিউএল সার্ভার 2016-এ প্রশ্নের সাথে সমান্তরাল সম্পাদন প্রয়োজন , মাইক্রোসফ্ট নলেজ বেস অনুচ্ছেদটি দেখুন:

যখন আপনি INSERT চালাবেন তখন খারাপ পারফরমেন্স .. এসকিউএল সার্ভার 2016 এ নির্বাচন করুন

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