/
  • ذخیره تاریخ در دیتابیس

  • ارسال پاسخ   امتیاز موضوع:
    • 1 رأی - میانگین امیتازات: 4
    • 1
    • 2
    • 3
    • 4
    • 5

    حالت موضوعی | حالت خطی ذخیره تاریخ در دیتابیس
    نویسنده پیام
    میلاد آفلاین
    برنامه نویس
    ***

    ارسال‌ها: 182
    تاریخ عضویت: ۱۳۸۷ بهمن ۲۵
    اعتبار: 2
    تشکرها : 66
    ( 136 تشکر در 74 ارسال )
    ارسال: #1
    Question ذخیره تاریخ در دیتابیس
    سلام
    شما از چه روشی برای ذخیره تاریخ میلادی یا شمسی در دیتا بیس استفاده میکنید؟ علتش را توضیح بدید.
    __________________________________________________________________________
    Two hands working can do more than a thousand clasped in prayer
    ۱۳۸۸ ارديبهشت ۳ ۰۹:۴۳ صبح
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    admin آفلاین
    وحید سهرابلو
    **********

    ارسال‌ها: 5,734
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1360
    ( 6194 تشکر در 3437 ارسال )
    ارسال: #2
    RE: ذخیره تاریخ در دیتابیس
    از timestamp
    دلیلش هم مشخص هست استفاده از این عدد خیلی راحتتر از استفاده به صورت رشته هست
    ۱۳۸۸ ارديبهشت ۳ ۱۱:۰۳ صبح
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : zoghal
    میلاد آفلاین
    برنامه نویس
    ***

    ارسال‌ها: 182
    تاریخ عضویت: ۱۳۸۷ بهمن ۲۵
    اعتبار: 2
    تشکرها : 66
    ( 136 تشکر در 74 ارسال )
    ارسال: #3
    RE: ذخیره تاریخ در دیتابیس
    من شخصا به صورت datetime ذخیره میکنم، در صورتی هم که نیاز به دریافت اون به صورت timestamp داشته باشم از تابع unix_timestamp استفاده میکنم که تاریخ را به صورت timestamp بر میگردونه.
    __________________________________________________________________________
    Two hands working can do more than a thousand clasped in prayer
    ۱۳۸۸ ارديبهشت ۳ ۱۲:۳۴ عصر
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط :
    admin آفلاین
    وحید سهرابلو
    **********

    ارسال‌ها: 5,734
    تاریخ عضویت: ۱۳۸۷ آذر ۲۴
    اعتبار: 100
    تشکرها : 1360
    ( 6194 تشکر در 3437 ارسال )
    ارسال: #4
    RE: ذخیره تاریخ در دیتابیس
    توی کار با دیتابیس جستجوی برای یک عدد خیلی سریتعتر انجام میشه
    حجم اطلاعات و سرعت درج و دریافت یک عدد از هم از datetime بیشتر هست
    ۱۳۸۸ ارديبهشت ۳ ۰۱:۱۶ عصر
    یافتن ارسال‌ها پاسخ با نقل قول
     تشکر شده توسط : oia
    میلاد آفلاین
    برنامه نویس
    ***

    ارسال‌ها: 182
    تاریخ عضویت: ۱۳۸۷ بهمن ۲۵
    اعتبار: 2
    تشکرها : 66
    ( 136 تشکر در 74 ارسال )
    ارسال: #5
    RE: ذخیره تاریخ در دیتابیس
    من شخصا فکر نمیکنم به این صورت باشه، چون اگر قرار بود همه تاریخ را به صورت timestamp ذخیره کنن و از نظر سرعت بهتر بود لزومی نداشته که datetime وجود داشته باشه.
    من خودم موقع کار با mysql و پی اچ پی به این نتیجه رسیدم که شما مثلا توی برنامه تا 50% محاسبات را به جای انجام در php به mysql منتقل کردم و از توابع اون استفاده کردم و این کار نه تنها سرعت عملیات را کاهش نداده که افزایش هم داده.
    این مطلب را هم بد نیست یه نگاه بهش بندازید، توی تست هایی که ایشون انجام داده سرعت استفاده از datetime تا دوبرابر برابر بیشتر از ذخیره به صورت timestamp بوده:
    کد:
    http://dbscience.blogspot.com/2008/08/can-timestamp-be-slower-than-datetime.html
    یک ونچمارک دیگه در همین زمینه:
    کد:
    http://www.xaprb.com/blog/2006/06/12/benchmarks-for-date-operations-in-mysql/
    یه بحث دیگه در همین زمینه:
    کد:
    http://www.sitepoint.com/forums/showthread.php?t=306686
    __________________________________________________________________________
    Two hands working can do more than a thousand clasped in prayer
    ۱۳۸۸ ارديبهشت ۴ ۱۰:۱۷ صبح
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : zoghal imez08
    zoghal آفلاین
    صالح سوزنچی
    *****

    ارسال‌ها: 1,760
    تاریخ عضویت: ۱۳۸۷ دي ۲۵
    اعتبار: 23
    تشکرها : 1500
    ( 1729 تشکر در 992 ارسال )
    ارسال: #6
    RE: ذخیره تاریخ در دیتابیس
    میلاد عزیز یکی از دلایلی که وحید میگه که timestamp بهتر هست این می تونه باشه :

    در اصول مهندسی نرم افزار ، شاخه ای هست به اسم پایگاه داده و هدف رعایت بهترین حالت برای ذخیره اطلاعات هست که نرمال سازی و عدم افزونگی اطلاعات یکی از زیر شاخه های اون هست

    در روش timestamp چون تاریخ به صورت اعداد و در محدود int ذخیره میشه ولی در حالات دیگر به خاطر استفاده از spiliter ها یا جدا کننده ها مقدار به روش char or varchar ذخیره میشوند، که در حالت ساده و معمولی char 2byte و int 1byte فضا نیاز داره

    حالا در یک دیتابیس بزرگ،کدوم روش بهینه تر هست؟ درضمن در mysql توابع تاریخ بر روی timestamp هم کار میکنند
    ۱۳۸۸ ارديبهشت ۵ ۰۱:۴۴ صبح
    یافتن ارسال‌ها WWW پاسخ با نقل قول
     تشکر شده توسط : admin مسلم فلاح نیت
    « قدیمی تر | تازه‌ تر »

    ارسال پاسخ
    پرش به انجمن:


    کاربرانِ درحال بازدید از این موضوع: 1 مهمان
    IranPHP.org | تماس با ما | بازگشت به بالا | بازگشت به محتوا | بایگانی | پیوند سایتی RSS