প্রদত্ত আপনার স্পেসিফিকেশন যে আপনার হয় সব কলাম নির্বাচন সামান্য পার্থক্য আছে এই সময়ে । তবে উপলব্ধি করুন যে ডাটাবেস স্কিমার পরিবর্তন হয়। আপনি যদি ব্যবহার করেন তবে আপনি SELECT *
টেবিলে কোনও নতুন কলাম যুক্ত করতে যাচ্ছেন, যদিও সমস্ত সম্ভাবনার মধ্যেও, আপনার কোড সেই নতুন ডেটা ব্যবহার বা উপস্থাপনের জন্য প্রস্তুত নয়। এর অর্থ হ'ল আপনি আপনার সিস্টেমটিকে অপ্রত্যাশিত কর্মক্ষমতা এবং কার্যকারিতা পরিবর্তনের জন্য প্রকাশ করছেন।
আপনি এটিকে সামান্য ব্যয় হিসাবে বরখাস্ত করতে ইচ্ছুক হতে পারেন, তবে বুঝতে পারেন যে কলামগুলি আপনার এখনও প্রয়োজন নেই তা অবশ্যই:
- ডাটাবেস থেকে পড়ুন
- নেটওয়ার্ক জুড়ে পাঠানো হয়েছে
- আপনার প্রক্রিয়া মার্শাল করা
- (এডিও-টাইপ প্রযুক্তির জন্য) মেমরির কোনও ডাটা-টেবিলে সংরক্ষিত
- উপেক্ষা করা এবং ফেলে দেওয়া / আবর্জনা-সংগৃহীত
আইটেম # 1 এর কয়েকটি সম্ভাব্য আচ্ছাদন সূচককে মুছে ফেলা সহ ডেটা-পৃষ্ঠা লোড (এবং সার্ভার ক্যাশে থ্র্যাশিং) সৃষ্টি করে, সারি / পৃষ্ঠা / সারণী লকগুলি অন্তর্ভুক্ত রয়েছে যা অন্যথায় এড়ানো যেতে পারে।
এটির তুলনায় কলামগুলি নির্দিষ্ট করে দেওয়ার সম্ভাব্য সঞ্চয়ের বিপরীতে সামঞ্জস্য করুন *
এবং একমাত্র সম্ভাব্য সঞ্চয়গুলি হ'ল:
- প্রোগ্রামারকে কলাম যুক্ত করতে এসকিউএল পুনর্বিবেচনার দরকার নেই
- এসকিউএলের নেটওয়ার্ক-পরিবহন ছোট / দ্রুত is
- এসকিউএল সার্ভার ক্যোয়ারী পার্স / বৈধকরণের সময়
- এসকিউএল সার্ভারের ক্যোয়ারী প্ল্যান ক্যাশে
আইটেম 1 এর জন্য, বাস্তবতাটি হ'ল আপনি যে কোনও নতুন কলাম যে কোনও উপায়ে যুক্ত করতে ব্যবহার করতে কোড যুক্ত করতে / পরিবর্তন করতে যাচ্ছেন, সুতরাং এটি ধোয়া।
আইটেম 2 এর জন্য, পার্থক্যটি আপনাকে কোনও আলাদা প্যাকেট-আকার বা নেটওয়ার্ক প্যাকেটের সংখ্যার দিকে ঠেলে দিতে খুব কমই যথেষ্ট। আপনি যদি সেই স্থানে পৌঁছে যান যেখানে এসকিউএল স্টেটমেন্ট ট্রান্সমিশনের সময়টি প্রধান সমস্যা, আপনি সম্ভবত প্রথমে বিবৃতিগুলির হার হ্রাস করতে হবে।
আইটেম 3 এর জন্য, কোনও প্রকারের সঞ্চয় নেই কারণ যে *
কোনওভাবেই এর সম্প্রসারণ হতে হবে , যার অর্থ টেবিল (গুলি) এর স্কিমার সাথে পরামর্শ করা consulting বাস্তবিকভাবে, কলামগুলি তালিকাভুক্তকরণে একই ব্যয় হবে কারণ তাদের স্কিমার বিপরীতে বৈধতা দিতে হবে। অন্য কথায় এটি সম্পূর্ণ ধোয়া।
আইটেম 4 এর জন্য, আপনি নির্দিষ্ট কলামগুলি নির্দিষ্ট করার সময়, আপনার ক্যোয়ারী প্ল্যান ক্যাশেটি বড় হতে পারে তবে কেবল আপনি কলামের বিভিন্ন সেট (যা আপনি নির্দিষ্ট করেছেন তা নয়) নিয়ে কাজ করছেন। এই ক্ষেত্রে, আপনি বিভিন্ন ক্যাশে এন্ট্রি চান না কারণ আপনি প্রয়োজন হিসাবে বিভিন্ন পরিকল্পনা চান।
সুতরাং, ঘটনাটি স্কিমা সংশোধন করার ক্ষেত্রে আপনি যেভাবে প্রশ্নটি নির্দিষ্ট করেছেন তার কারণ ইস্যুটির স্থিতিস্থাপকতার বিষয়টি হ্রাস পেয়েছে। আপনি যদি এই স্কিমাটি আরওএম-এ জ্বালিয়ে দিচ্ছেন (এটি ঘটে), তবে *
এটি পুরোপুরি গ্রহণযোগ্য।
যাইহোক, আমার সাধারণ নির্দেশিকাটি হ'ল আপনার কেবলমাত্র প্রয়োজনীয় কলামগুলি নির্বাচন করা উচিত, যার অর্থ কখনও কখনও এটির মতো দেখাবে যে আপনি তাদের সকলের জন্য জিজ্ঞাসা করছেন, তবে ডিবিএ এবং স্কিমা বিবর্তনের অর্থ এমন কিছু নতুন কলাম প্রদর্শিত হতে পারে যা কোয়েরিকে ব্যাপকভাবে প্রভাবিত করতে পারে ।
আমার পরামর্শ হ'ল আপনার অবশ্যই নির্দিষ্ট কলামগুলি নির্বাচন করা উচিত । মনে রাখবেন যে আপনি বারবার যা করেন তাতে আপনি ভাল হন, তাই এটি সঠিকভাবে করার অভ্যাস করুন।
আপনি যদি ভাবছেন যে কোডটি পরিবর্তন না করে কোনও স্কিমা কেন পরিবর্তন হতে পারে তবে নিরীক্ষণের ক্ষেত্রে, কার্যকর / মেয়াদোত্তীকরণের তারিখ এবং অন্যান্য অনুরূপ বিষয়গুলি ডিবিএ দ্বারা সংযুক্তির জন্য সিস্টেমিকভাবে যুক্ত হওয়ার ক্ষেত্রে বিবেচনা করুন। আন্ডারহ্যান্ডেড পরিবর্তনের আরেকটি উত্স হ'ল সিস্টেম বা ব্যবহারকারী-সংজ্ঞায়িত ক্ষেত্রগুলির অন্য কোথাও পারফরম্যান্সের জন্য অস্বীকৃতি।