আমাদের কাছে একটি পুরাতন এসকিউএল টেবিল রয়েছে যা এসকিউএল সার্ভার 2000 দ্বারা প্রায় 10 বছর ব্যবহার করা হয়েছিল।
এটা, আমাদের কর্মচারী ব্যাজ নম্বর সংরক্ষণ করা হয় char(6)
থেকে 000001
থেকে 999999
।
আমি এখন একটি ওয়েব অ্যাপ্লিকেশন লিখছি, এবং আমার কর্মচারী ব্যাজ নম্বর সংরক্ষণ করতে হবে।
আমার নতুন টেবিল, আমি ছোট কাটা লাগতে পারে এবং পুরানো টেবিল অনুলিপি করা যায়, কিন্তু আমি ভাল ডেটা ট্রান্সফার, ছোট সাইজ, ইত্যাদি জন্য আশা করছি কেবল মজুত করে int
থেকে মানগুলি 1
করতে 999999
।
সি # তে, আমি int
ব্যাজ নম্বরটি ব্যবহার করে খুব দ্রুত বিন্যাস করতে পারি
public static string GetBadgeString(int badgeNum) {
return string.Format("{0:000000}", badgeNum);
// alternate
// return string.Format("{0:d6}", badgeNum);
}
প্রত্যাবর্তিত মানটিকেও ফর্ম্যাট করতে আমি কীভাবে এই সাধারণ এসকিউএল ক্যোরিয়াকে সংশোধন করব?
SELECT EmployeeID
FROM dbo.RequestItems
WHERE ID=0
যদি EmployeeID
7135 হয় তবে এই ক্যোয়ারীটি ফিরে আসবে 007135
।
FORMAT
সি # :-)
int
মানগুলি উল্লেখযোগ্যভাবে কম স্থান গ্রহণ করে char(6)
, এবং প্রতি অংশে এইগুলি একত্রিত হয় যা উত্পাদিত হয়। দক্ষতা.
DATALENGTH()
প্রতিটিতে দুটি বাইট সংরক্ষণ করতে পারেন (অনুযায়ী )। যেহেতু কলামটি কোনও সূচীতে থাকতে পারে তাই আপনি 2 এমবি-র বেশি সঞ্চয় করতে পারবেন। এবং অন্যান্য কলামগুলির সাথে যুক্ত করা হয়েছে যে 2 বাইট প্রতি সারি 4KB পৃষ্ঠা সংরক্ষণ করার জন্য যথেষ্ট পরিমাণে একটি সারির দৈর্ঘ্য হ্রাস করতে পারে। এটি কি কোনও মোবাইল প্ল্যাটফর্মে হোস্ট করা যাচ্ছে, বা আপনি অনুন্নত অঞ্চলে আপনার মনোযোগ কেন্দ্রীভূত করতে পারেন?
0
গুলি এই ক্ষেত্রটির জন্য তাৎপর্যপূর্ণ তাই কেন একে একে একে পরিবর্তন করবেনINT
?