ডেটটাইম 2 (0), ডেটটাইম 2 (1), ডেটটাইম 2 (2), ডেটটাইম 2 (3) সমান পরিমাণ স্টোরেজ ব্যবহার করে। (6 বাইট)
আমি কি এই কথাটি সঠিক হতে চাই যে আমি পাশাপাশি ডেটটাইম 2 (3) দিয়ে যেতে পারি এবং কোনও অতিরিক্ত আকার ব্যয় ছাড়াই নির্ভুলতার সুবিধা অর্জন করতে পারি।
না, আপনি দস্তাবেজটির ভুল ব্যাখ্যা করেছেন। উল্লেখ্য ডক রাজ্যের precisions জন্য সঞ্চয়স্থান মাপ 6 বাইট কম 3 (জোর খনি)। 3 এর সমান নির্ভুলতার জন্য 7 বাইট লাগবে।
আপনি যদি মিলিসেকেন্ডগুলির বিষয়ে যত্নশীল না হন datetime2(0)
তবে সঠিক ডেটা টাইপ এবং নির্ভুলতা হবে। সর্বোত্তম অনুশীলন হ'ল সঞ্চিত উপাত্তের উপর ভিত্তি করে যথাযথ ডেটা টাইপ এবং যথার্থতা নির্দিষ্ট করা কারণ এটি সহজাতভাবে সর্বোত্তম স্টোরেজ এবং দক্ষতা সরবরাহ করবে। বলা হচ্ছে, যতক্ষণ না স্টোরেজের আকার সমান হয় ততক্ষণ আমি নির্দিষ্ট তারিখের 2 নির্ভুলতার ভিত্তিতে একটি উল্লেখযোগ্য পারফরম্যান্স প্রভাব আশা করবো না তবে আমি নিজে এটি নির্দিষ্ট করে পরীক্ষা করে দেখিনি।
অ্যাপ্লিকেশন প্রয়োজনীয়তা সূচিত্রে যখন আরও বৃহত্তর নির্ভুলতা পাওয়া যায় তখন ডাটাবেসে কী সংরক্ষণ করতে হবে তা নির্দেশ করবে। উদাহরণস্বরূপ, অর্ডার এন্ট্রি সময় থেকে উত্সাহিত করার জন্য SYSDATETIME()
, ব্যবহারকারীরা 100 ন্যানোসেকেন্ড যথাযথতা চান না। আবার প্রয়োজনীয়তা অনুসারে নতুন বিকাশের জন্য ডেটা টাইপ এবং নির্ভুলতা চয়ন করুন এবং আপনি অতিরিক্ত চিন্তা না করে সাধারণত সর্বোত্তম কর্মক্ষমতা পাবেন:
- তারিখ - আপনার সময় লাগবে না
- স্মার্টডেটটাইম - আপনার সেকেন্ডের দরকার নেই
- ডেটটাইম 2 (0) - আপনার ভগ্নাংশের সেকেন্ডের দরকার নেই
- ডেটটাইম 2 (1-7) - আপনার নির্দিষ্ট নির্ভুলতার ভগ্নাংশের সেকেন্ডের প্রয়োজন
- ডেটটাইমসেট (0-7) - আপনার সময় অঞ্চল সচেতনতার সাথে তারিখ এবং সময় প্রয়োজন
- সময় (0-7) - আপনার নির্দিষ্ট সুনির্দিষ্টতার ভগ্নাংশের সেকেন্ড সহ কেবলমাত্র সময় (তারিখ নেই) দরকার
যদিও datetime2 নতুন উন্নয়ন সবচেয়ে উপযুক্ত হিসেবে উপরে তালিকাভুক্ত করা হয়, এক কখনও কখনও ব্যবহার করতে হতে পারে DATETIME পরিবর্তে উত্তরাধিকার DATETIME অ্যাপ্লিকেশনের সাথে সামঞ্জস্যের জন্য (1/300 ভগ্ন সেকেন্ড সঠিকতা সঙ্গে সংশোধন করা হয়েছে স্পষ্টতা 3) এইভাবে অন্তর্নিহিত রূপান্তর এবং অপ্রত্যাশিত তুলনা আচরণ এড়ানো, কিন্তু ভগ্নাংশ দ্বিতীয় যথার্থতা এবং বর্ধিত সঞ্চয়স্থানের ব্যয়।
বিবেচনা করুন যে প্রয়োজনের তুলনায় আরও বৃহত্তর নির্ভুলতা সঞ্চয় করতে বিকাশ ব্যয়ও হতে পারে। যদি কেবলমাত্র দ্বিতীয় দ্বিতীয় নির্ভুলতার প্রয়োজন হয় তখন কেউ যদি ভগ্নাংশের সেকেন্ড সহ একটি সময়ের উপাদান সঞ্চয় করে, সঠিক ফলাফলগুলি ফেরত দেওয়ার জন্য ক্যোয়ারিকে এখনও ভগ্নাংশীয় সেকেন্ড বিবেচনা করতে হবে। উদাহরণস্বরূপ, এমন অ্যাপের সাথে যেখানে ব্যবহারকারী কোনও ইউআইয়ের মাধ্যমে সময়সীমা নির্বাচন করে যা কেবলমাত্র পুরো সেকেন্ডের জন্য অনুমতি দেয়, অ্যাপ্লিকেশন কোডটির শেষ সময়সীমার মানের মধ্যে ভগ্নাংশের সেকেন্ডের জন্য অ্যাকাউন্ট হওয়া এবং সেই অনুযায়ী ব্যবহারকারীর সরবরাহকৃত মানকে সামঞ্জস্য করতে হবে (উদাঃ WHERE OrderEntryTime BETWEEN '2017-01-11T08:00:00.00.00' AND '2017-01-11T08:59:59.99'
বা WHERE OrderEntryTime >= '2017-01-11T08:00:00.00' AND OrderEntryTime < '2017-01-11T09:00:00.00'
)। এটি কোড জটিলতা যুক্ত করবে।