سوال تاریخ شمسی و ایجاد جدول جدید در sql
سلام دوستان
خسته نباشید
توی sql ام در ماه بالای 4000 هزار تا اطلاعات ثبت میشه واسه اینکه طی چند ماه مشکل کندی به وجود نیاد
من میخوام توی sql ام یه کوئری بنویسم که هر شب جدولمو چک کنه ببینه اگه بر اساس تاریخ شمسی اول ماه شد اون تیبل رو با نام ماه جاری ذخیره کنه ( مثل 14010225 ) و یک تیبل دیگه باز کنه تا اطلاعات وارده توی اون ذخیره بشه
می شه بگین چجوری اینکارو بکنم(بر اساس تاریخ شمسی)
3 پاسخ
این کار بسیاااااار بسیار غلطه ! اصلا با هیچ اصولی جور در نمیاد !
اون وقت اگه بخواید یه گزارش از سه ماه گذشته بگیرید ، چه جوری می خواید این کار رو بکنید ؟ مثلا گزارش مقابسه ماه به ماه دو سال قبل چی میشه ؟ دو روز طول میکشه !
اصلا دیگه برنامه نمی تونه اطلاعات ماه قبل رو در بیاره ...
اصولا مگه این جدول چقدر حجیم میشه که می خواید این کار رو بکنید ؟ 4000 خط در ماه اصلا چیز مهمی برای sql نیست.
+++ راهش اینه که یه sp بنویسید که تاریخ روز رو بگیره و با یه تابع که تو اینترنت هم هست به شمسی تبدیل کنه و بعد اگه روز 1 بود، بره یه جدول به اسمی که می خواید و با ستون هایی که دارید بسازه و بعد دیتا رو insert کنه و بعد جدول فعلی رو خالی. یا جدول فعلی رو تغییر نام بده و بعد یه جدول نو بسازه.
حالا این sp رو هر شب بایک job اجرا کنید.
ولی نکنییییید این کار رو !
همون سه سال بعد هم اگه واقعا به مشکل خوردید و این دیتا مهم نبود که همیشه دم دست باشه و امکان افزایش رم و ... نبود ، کل دیتابیس رو دوباره می سازید و یه نسخه از برنامه هم آماده دارید که متصل به اون دیتابیسه. ضمنا شما که query select all نمیزنید.
sql رو دست کم نگیریرد. این تصویر دیتابیس ما یکی از جدول ها حدود 1 میلیون خط داره و اصلا هم کند نیست.
با تشکر از شما آقای آقا میری عزیز
فقط یه سوال - من اشتباه نوشتم - روزانه 90 تا دیتای جدید - در ماه میشه 2790 در سال میشه 33480 تا رکورد جدید. آیا وقتی بعد 5 سال یه کوئری رو واسه sql بفرستیم کند نمیشه؟؟؟
و راه حل پیشنهادیتون چی میتونه باشه
ممنون