আপনি কেন সঞ্চিত পদ্ধতিতে ডায়নামিক এসকিউএল এড়াতে চান?


13

আমি শুনেছি আপনি ডায়নামিক এসকিউএল ব্যবহার করতে চান না। আপনি কিছু দৃ concrete় উদাহরণ বা বাস্তব জীবনের উদাহরণ দিতে পারেন? ব্যক্তিগতভাবে, আমি আমার ডাটাবেসে এটি কয়েকবার কোড করি। আমি মনে করি এটি ঠিক আছে কারণ এটি নমনীয়তা। আমার অনুমান এসকিউএল ইঞ্জেকশন বা পারফরম্যান্স সম্পর্কে। আর কিছু?

উত্তর:


7

আপনার অবশ্যই প্রয়োজন হলে ডায়নামিক এসকিউএল ব্যবহারে কোনও ভুল নেই। আসলে কিছু পরিস্থিতিতে এটি আপনার কাছে একমাত্র বিকল্প। আপনার ইনপুটটি স্যানিটাইজ না করা হলে এটি এসকিউএল ইঞ্জেকশনের দিকে নিয়ে যেতে পারে এবং হ্যাঁ মডিউলগুলিতে ডায়নামিক এসকিউএল ব্যবহার করা এটির কার্যকারিতার জন্য ক্ষতিকারক হতে পারে বলে হ্যাঁ এটি ব্যবহার না করার প্রস্তাব দেওয়া বেশি।

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

যদি আপনার কর্মক্ষমতা সম্পর্কে উদ্বিগ্ন; এটা পরীক্ষা করো. যদি আপনার সুরক্ষা সম্পর্কে উদ্বিগ্ন; আপনার ইনপুট বৈধতা দিন। কোনও সঠিক বা ভুল নেই - কেবলমাত্র আপনি সেই সময় আপনার কাছে যে তথ্য এবং সরঞ্জামাদি উপলব্ধ ছিলেন তার উপর ভিত্তি করে আপনার সেরা রায়টি ব্যবহার করেন।


5

ডায়নামিক এসকিউএল একটি সরঞ্জাম। এবং একটি সরঞ্জাম হিসাবে এটির কিছু অ্যাপ্লিকেশন রয়েছে - প্রশাসনিক কাজের জন্য এটি একটি আশীর্বাদ, উদাহরণস্বরূপ।

অ্যাপ্লিকেশন দ্বারা ব্যবহৃত এসপি তে খুব ভাল নয়, বিশেষত যদি আপনি উত্পন্ন কোডের পরামিতি পরিচালনা করেন না (এসকিউএল সার্ভারের সর্বশেষ সংস্করণগুলি সমস্যাগুলি হ্রাস করেছে, তবে এখনও বৈধ) valid

আমি এখানে বিশদভাবে প্রবেশ করবো না, তাই আমি ডায়নামিক এসকিউএল সমস্যাগুলি সম্পর্কে একটি দুর্দান্ত নিবন্ধটি সুপারিশ করব: এমভিপি এরল্যান্ড সোমারস্কোগের ডাইনামিক এসকিউএল এর অভিশাপ এবং আশীর্বাদ


1
আমি সেই লিঙ্কটিও ভাগ করতে যাচ্ছিলাম, এটি অবশ্যই গতিশীল এসকিউএল ব্যবহারের জন্য বিবেচনা করা উচিত for
এইচএলজিইএম

1

এটি বেশিরভাগ ডিবিএমএস বৈশিষ্ট্যের মতো, আপনি যদি এটি সঠিক পরিস্থিতিতে ব্যবহার করেন তবে এটি ভাল কাজ করে, ভুল পরিস্থিতি এটি খারাপভাবে করে।

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

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


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

-7

ডায়নামিক এসকিউএল ব্যবহার করবেন না।

সঞ্চিত পদ্ধতিতে option চ্ছিক পরামিতিগুলি কীভাবে ব্যবহার করতে হয় তার জ্ঞানের অভাবের কারণে ডায়নামিক এসকিউএল এর 99% সময় ব্যবহৃত হয়, বাকী 1% সময় গ্রাহক বুঝতে পারে না এমন প্রতিবেদনের জন্য একটি অত্যন্ত জটিল ক্যোয়ারী তৈরি করতে ব্যবহৃত হয় এমন কি. ডাইনামিক এসকিউএল-এর অভিশাপ এবং আশীর্বাদগুলি কেন এটি ব্যবহার করা ভাল ধারণা হবে তার উদাহরণ দেখায় না, পরিবর্তে কেবল পরামর্শ দেয় যে এটি সমস্যাযুক্ত কারণ এটি ডিবাগিং, বজায় রাখা, এসকিউএল এর সুরক্ষা ঝুঁকির কথা উল্লেখ না করার ক্ষেত্রে জটিলতা বৃদ্ধি করে ইনজেকশন, খারাপ পারফরম্যান্স নয় কারণ ক্যাশে নয় তবে এর সাথে আসা খারাপ অভ্যাসগুলি অস্থায়ী টেবিল এবং কার্সার ব্যবহারের মতো যা অবশ্যই একটি অলস এবং নিষ্পাপপ্রোগ্রামার অপব্যবহার করবে। প্রশ্নগুলি লেখার ক্ষেত্রে নমনীয়তার মতো কোনও জিনিস নেই, এসকিউএল একটি ঘোষণামূলক ভাষা এবং এটি এর মতোই আচরণ করা উচিত।

অলসতা সব অশুভের মূল।

বিস্ময়করভাবে এই উত্তরটি সর্বাধিক নিম্নমানের মধ্যে স্থান পাচ্ছে


নিবন্ধটি প্রকৃতপক্ষে গতিশীল এসকিউএল জন্য একটি আদর্শ ব্যবহারের ক্ষেত্রে কমপক্ষে একটি উদাহরণ সরবরাহ করে এবং "প্রশ্নগুলি লেখার ক্ষেত্রে নমনীয়তার মতো কোনও জিনিস নেই ..." সত্য নয় - গতিশীল এসকিউএল ঠিক এটিই এটির অনুমতি দেয় নমনীয়তা.
লোলিডিবিএ

Ptionচ্ছিক পরামিতি? আপনি প্রতিরোধের মানে ?
ফরেস্ট

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

@ ফরস্ট কেন আপনি এটিকে "অ্যান্টিপ্যাটার্ন" বলছেন? কারণ আপনি যে লিঙ্কটি সরবরাহ করেছেন তা কখনই তা বলে না, এবং কখনই ডায়নামিক এসকিউএল-তে যুক্তিটি পুনরায় লেখার পরে কতটা উন্নতি হয়েছিল তা কখনও দেখায় না (যা এই প্রশ্নের অবশেষে
তুষারবলের

এটি একটি (দরিদ্র) মতামত ভিত্তিক উত্তর আইএমএইচও। আপনি সমস্যার আপনার বর্ণনাকারী কংক্রিট উদাহরণ প্রদান করেন নি, কিংবা আপনি সংজ্ঞায়িত করেছেন সেগুলি ব্যবহার করে গতিশীল এসকিউএল প্রো এর
George.Palacios
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.