সি # বিকাশকারী এসকিউএল সার্ভার রক্ষার জন্য ম্যানেজমেন্ট দ্বারা উত্সাহিত সঞ্চিত পদ্ধতি প্রায়শই এই জাতীয় পদ্ধতি উত্পাদন করে
create table #t1 (...);
insert into #t1 Select ... from table_a where ...;
insert into #t1 Select ... from table_b where ...;
update #t1 Set ... = ... where ...
Select * from #t1;
একক বিবৃতি বরং সহজ এবং এই পদ্ধতি তাদের সঠিক ফলাফল উত্পাদন করে তোলে।
প্রায়শই আমার কাজ হ'ল ওরাকলে এই জাতীয় প্রক্রিয়া স্থানান্তর করা।
আসুন নিম্নলিখিত বিষয়গুলির মুখোমুখি হন।
- এসকিউএল সার্ভারে বিভিন্ন অস্থায়ী সারণী সম্পূর্ণরূপে স্বতন্ত্র এবং কোনও অ্যাডহক কাঠামো থাকতে পারে।
- ওরাকল গ্লোবাল কমন টেবিলগুলি হ'ল গ্লোবাল অবজেক্ট এবং সমস্ত ব্যবহার একই সারণির কাঠামোকে ভাগ করে দেয়। এই কাঠামোটি সংশোধন করা অসম্ভব, যদিও এটি যে কোনও জায়গায় ব্যবহৃত হয়।
ওরাকল ডিবিএ থেকে আমি যে জিনিসগুলি শিখেছিলাম তার মধ্যে একটি ছিল যখনই সম্ভব তখন অস্থায়ী টেবিলের ব্যবহার এড়ানো। এমনকি এসকিউএল সার্ভারের পারফরম্যান্স যেমন পরিবর্তনগুলি থেকে উপকৃত হয়।
ইউনিয়নগুলি দ্বারা পৃথক সন্নিবেশগুলি প্রতিস্থাপন করুন
সর্বাধিক সাধারণ ক্ষেত্রে উপরেরটি এমন কিছুতে রূপান্তরিত হতে পারে
select case when ... then ... end, ... from table_a where ...
union
select case when ... then ... end, ... from table_b where ...
Order by ...;
ফাংশন ব্যবহার
উভয় স্কেলারের ফাংশন এবং টেবিলের মূল্যবান ফাংশন আপনার পদ্ধতিটিকে উপরের ফর্মের একক ক্যোয়ারিতে রূপান্তর করতে সহায়তা করতে পারে।
সাধারণ সারণী এক্সপ্রেশন ওরফে সাবকিউরি ফ্যাক্টরিং
অস্থায়ী সারণীগুলি এড়াতে সাবাকারি ফ্যাক্টরিং প্রায় সেরা ওরাকলকে দেওয়া। এটি ব্যবহার করে এসকিউএল সার্ভারকে ওরাকলে স্থানান্তরিত করা আবার বরং সহজ। এটির জন্য এসকিউএল সার্ভার 2005 এবং তারপরের প্রয়োজন।
এই পরিবর্তনগুলি এসকিউএল সার্ভার সংস্করণে উন্নতি করে এবং অনেক ক্ষেত্রে মাইগ্রেশনটিকে সরাসরি এগিয়ে নিয়ে যায়। অন্যান্য ক্ষেত্রে গ্লোবাল অস্থায়ী টেবিলগুলির অবলম্বন একটি সীমাবদ্ধ সময়ে মাইগ্রেশন করা সম্ভব করে তোলে তবে এটি সন্তুষ্টিজনক নয়।
ওরাকলে বৈশ্বিক অস্থায়ী টেবিলের ব্যবহার এড়াতে আরও কী উপায় আছে?