আমার কিছুটা জটিল ওরাকল ক্যোয়ারী রয়েছে যা সম্পূর্ণ হতে প্রায় আধ ঘন্টা সময় নিচ্ছে। আমি যদি ক্যোয়ারির ধীর অংশটি নিয়ে আলাদাভাবে চালিত করি তবে এটি কয়েক সেকেন্ডের মধ্যেই শেষ হয়ে যায়। বিচ্ছিন্ন প্রশ্নের জন্য এসকিউএল মনিটর রিপোর্টের একটি স্ক্রিনশট এখানে দেওয়া হয়েছে:
সম্পূর্ণ ক্যোয়ারির অংশ হিসাবে চালিত হওয়ার সময় এখানে একই যুক্তি রয়েছে:
উভয় স্ক্রিনশটগুলিতে রঙগুলি একই টেবিলের সাথে মিল রয়েছে। ধীর ক্যোয়ারির জন্য, ওরাকল MERGE JOIN
দুটি সারণীর মধ্যে একটি করছে যা এর মধ্যে সমতার শর্ত নয় JOIN
। এর ফলস্বরূপ, প্রায় 150 মিলিয়ন মধ্যবর্তী সারিগুলি অহেতুক প্রক্রিয়াজাত করা হয়।
আমি ক্যোয়ারী ইঙ্গিত বা পুনর্লিখনগুলি নিয়ে এই সমস্যাটি ঘিরে কাজ করতে সক্ষম, তবে আমি যতটা সম্ভব মূল কারণটি বুঝতে চাই তাই ভবিষ্যতে এই সমস্যাটি এড়াতে এবং সম্ভবত ওরাকলে একটি বাগ রিপোর্ট জমা দিতে পারি submit আমি যখনই খারাপ পরিকল্পনা পেয়েছি UNPIVOT
তখনই ক্যোয়ারী পাঠ্যের UNION ALL
পরিকল্পনাগুলি পরিকল্পনার একটিতে রূপান্তরিত হয় । আরও তদন্তের জন্য আমি এই ক্যোয়ারী রূপান্তরটি ঘটতে বাধা দিতে চাই। আমি এই রূপান্তরটির জন্য কোনও নাম খুঁজে পাচ্ছি না। আমি কোনও ক্যোয়ারী ইঙ্গিত বা আন্ডারস্কোর প্যারামিটারও এটি সন্ধান করতে পারিনি যা এটির প্রতিরোধ করবে। আমি ডেভলপমেন্ট সার্ভারে পরীক্ষা করছি যাতে কিছু যায় না।
কিছু যে আমি এর কোয়েরি রূপান্তর প্রতিরোধ করতে পারি UNPIVOT
করতে UNION ALL
? আমি ওরাকল 12.1.0.2 এ আছি।
আইপি কারণে আমি কোয়েরি, টেবিলের নাম বা ডেটা ভাগ করতে পারছি না। আমি একটি সহজ প্রজনন সঙ্গে আসতে সক্ষম ছিল না। এই কথাটি বলে, আমার কাছে এটি অস্পষ্ট যে প্রশ্নের উত্তর দেওয়ার জন্য কেন সেই তথ্য দরকার। এখানে ইউএনআইপিওয়ট ক্যোয়ারির উদাহরণ রয়েছে একই সাথে ইউএনওআইএন সমস্ত হিসাবে প্রয়োগ করা হয়েছে query