ডাটাবেসে মিলিসেকেন্ডের সাথে সময় সঞ্চয় করে


10

একটি ডাটাবেসে "সময়" সঞ্চয় করার বিষয়ে একটি দ্রুত প্রশ্ন। আমি ব্যবহারকারীদের রানের সময় লগ করছি যা 00: 00: 00: 00 (ঘন্টা, মিনিট, সেকেন্ড, মিলিসেকেন্ড) ফর্ম্যাটে রয়েছে।

আমি মূলত এটি সংরক্ষণ করতে যাচ্ছিলাম TIMEতবে আমি বুঝতে পেরেছিলাম যে মাইএসকিউএল এই ধরণের মিলিসেকেন্ডগুলিকে সমর্থন করে না।

আমি ব্যবহারকারীদের স্টপওয়াচ থেকে নেওয়া প্রকৃত সময়টি সংরক্ষণ করব, তারা দৌড়ে এসে শেষ হওয়ার সময় নয় (এটি beingোকানোর আগে গণনা করা হবে)।

ব্যবহারের জন্য সেরা ফিল্ডের ধরণটি কী হবে? আমি ভাবছিলাম doubleনাকি float, তবে আমি নিশ্চিত না যে এটি কাজ করবে?

উত্তর:


6

ব্যক্তিগতভাবে, আমি সময়কালের জন্য পূর্ণসংখ্যার প্রকারগুলি ব্যবহার করতাম

উদাহরণ: 340,000 মিলিসেকেন্ড 340000 স্বাক্ষরযুক্ত স্বাক্ষরিত কলামে in

আমার কাছে, ডেটটাইম, সময়, তারিখ ইত্যাদি সময় স্পষ্ট পয়েন্টের জন্য। 340 সেকেন্ড এর প্রসঙ্গে অর্থহীন। একটি সূচনা থাকার পরে অবশ্যই সময়কাল যুক্ত হতে date/timeদেয়


3
intervalএই উদ্দেশ্যে কেবলমাত্র একটি স্ট্যান্ডার্ড এসকিউএল ডেটা টাইপ রয়েছে। তবে সমস্ত ডিবিএমএস (এবং অবশ্যই মাইএসকিউএল নয়) এটি সমর্থন করে না।
a_horse_with_no_name

আপনার উত্তরের জন্য ধন্যবাদ, আমার এখন এটি 00: 00: 00: 00 ফর্ম্যাটে যেমন আছে তেমন একটি স্ট্যান্ডার্ড ফর্ম্যাটে রূপান্তর করা দরকার? আমি কি এই ধরণের বিন্যাসের অনুমতি দিতে কলামটি সেট করতে পারি?
এলিয়ট

@ এলিয়ট: প্রদর্শনের জন্য, আপনি করতে পারেন। এটি অন্যথায় কেবল একটি সংখ্যা
জিবিএন

1
মনে রাখবেন যে আপনার ফর্ম্যাটটি সম্ভবত (বা পঠনযোগ্যতার জন্য হওয়া উচিত) 00: 00: 00.000 (কোলনের পরিবর্তে ডট এবং মিলিসেকেন্ডের জন্য 3 অঙ্কের নোটটি নোট করুন
জেনেস

2

এটি কতক্ষণ আপনি পরিমাপ করতে চান তার উপর নির্ভর করে। আপনি যদি নিয়মিত স্বাক্ষর না করা ইন্টের চেয়ে 2 ^ 32 বা 4294967296 এমএসের চেয়ে বেশি সময় রেকর্ডিং না করেন তবে ঠিক আছে। এটি প্রায় 50 দিনের ঘন্টার সময়ের সাথে মিল রয়েছে, বিটিডাব্লু।

আপনি যদি ইউনিক্স টাইম স্ট্যাম্প বা বৃহত্তর বিরতি সংরক্ষণ করেন তবে বিগিন্ট ব্যবহারের দিকে তাকান। এটি আপনাকে 8 বাইট স্পেস দেয় বা 1.84467440737096e + 19 এমএসে (যা প্রায় 500 মিলিয়ন বছর) রেকর্ড করার ক্ষমতা দেয়


1

তোমার সাথে পরে মাইএসকিউএল 5.6.4 ব্যবহার করুন অথবা, তাহলে আপনি ব্যবহার করতে পারেন TIME(3), DATETIME(3)এবং TIMESTAMP(3)কলাম 6 টি ভগ্নাংশ সংখ্যার পর্যন্ত সঞ্চয় করার জন্য (প্রতিস্থাপন 3ভগ্নাংশ সংখ্যার সংখ্যা সঙ্গে আপনার যা দরকার)। ভগ্নাংশ অংশ বিন্দু পরে টাইম স্ট্রিং যোগ করা হয়; উদাহরণ: 2018-09-08 17:51:04.781

সরকারী রেফারেন্স

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.