نمایش نتایج 1 تا 3 از 3

نام تاپیک: بهینه کردن جستجو برای تاریخ ذخیره شده به شکل nvarchar

  1. #1
    کاربر دائمی آواتار silverfox
    تاریخ عضویت
    دی 1386
    محل زندگی
    تهران
    سن
    32
    پست
    559

    بهینه کردن جستجو برای تاریخ ذخیره شده به شکل nvarchar

    سلام
    یه سیستم قدیمی داریم که توش ساعت ها و تاریخ ها به شکل شمسی و nvarchar ذخیره شدن '1387/02/15' یا '12:05'، داده ها هم بعد از سال ها خیلی زیاد شده و دیتابیس خیلی کند شده طوری که سیستم قابل استفاده نیست.
    روی این تاریخ ها query داریم به این شکل که بین 2 تاریخ، قبل از یک تاریخ و یا ساعت و اینا همش به طور مقایسه stringی هست. WHERE Date between ازینا
    یه بررسی که انجام دادیم دیدیم یه بخش زیادی از زمان اجرای query ها رو این بخش به خودش اختصاص داده.
    sql server 2000 هم هست سیستم، با توجه به اینکه شاید امکان تغییر کد برنامه و استفاده از datatype مناسب تر وجود نداشته باشد(یه سری از کوئری ها hardcode شدن یا داینامیک درون برنامه تولید می شن و برنامه بزرگتر از اونه که بشه به راحتی پیدا کرد و تغییر داده کد رو)، کار دیگه ای هست که بتونیم از طرف DBMS انجام بدیم؟ index گذاری روی این فیلد nvarchar به نظرتون تغییر خاصی ایجاد می کنه؟ پیشنهاد دیگه ای دارین؟

  2. #2
    کاربر دائمی آواتار sempay_ninjutsu
    تاریخ عضویت
    اردیبهشت 1388
    محل زندگی
    تهران
    سن
    35
    پست
    313

    نقل قول: بهینه کردن جستجو برای تاریخ ذخیره شده به شکل nvarchar

    نقل قول نوشته شده توسط silverfox مشاهده تاپیک
    سلام
    یه سیستم قدیمی داریم که توش ساعت ها و تاریخ ها به شکل شمسی و nvarchar ذخیره شدن '1387/02/15' یا '12:05'، داده ها هم بعد از سال ها خیلی زیاد شده و دیتابیس خیلی کند شده طوری که سیستم قابل استفاده نیست.
    روی این تاریخ ها query داریم به این شکل که بین 2 تاریخ، قبل از یک تاریخ و یا ساعت و اینا همش به طور مقایسه stringی هست. WHERE Date between ازینا
    یه بررسی که انجام دادیم دیدیم یه بخش زیادی از زمان اجرای query ها رو این بخش به خودش اختصاص داده.
    sql server 2000 هم هست سیستم، با توجه به اینکه شاید امکان تغییر کد برنامه و استفاده از datatype مناسب تر وجود نداشته باشد(یه سری از کوئری ها hardcode شدن یا داینامیک درون برنامه تولید می شن و برنامه بزرگتر از اونه که بشه به راحتی پیدا کرد و تغییر داده کد رو)، کار دیگه ای هست که بتونیم از طرف DBMS انجام بدیم؟ index گذاری روی این فیلد nvarchar به نظرتون تغییر خاصی ایجاد می کنه؟ پیشنهاد دیگه ای دارین؟
    index گذاری قطعا تاثیر داره ...پزارشاتی که شما میدین به چه صورتی است؟آیا این گزارشات بصورت آنلاین هست یا خیر؟؟اگر گزارشات بصورت آنلاین نیست میتونی از ssis استفاده کنی و دیتاهاتو تمیز کنی و این ssis رو بصورت شبانه بزاری اجرا بشه و در داخل یه table دیگه بریزی و بعد از اون جدول بخونی.....
    باز هم اینها راه کارهایی است که بصورت عمومی است برای دقیق تر باید دیتابیس دیده بشه ....گزارشات شما مشخص بشه و .....
    موفق باشید

  3. #3

    نقل قول: بهینه کردن جستجو برای تاریخ ذخیره شده به شکل nvarchar

    یه بررسی که انجام دادیم دیدیم یه بخش زیادی از زمان اجرای query ها رو این بخش به خودش اختصاص داده.
    شاید ساختار VarChar برای ستون تاریخ زیاد مناسب نباشد ولی نباید این جور هم که شما نوشتید سنگین باشه در اجرا.

    بد نیست مشکل را در جای دیگه (SP های نوشته شده، فرستادن و گرفتن پارامتر ها، روش نمایش داده ها و ... ) پیگیری نمایید.

تاپیک های مشابه

  1. جدا کردن روز و ماه و سال از فیلد تاریخ ذخیره شده در database
    نوشته شده توسط سمیرا55 در بخش ASP.NET Web Forms
    پاسخ: 3
    آخرین پست: پنج شنبه 31 مرداد 1392, 22:56 عصر
  2. پاسخ: 11
    آخرین پست: دوشنبه 13 دی 1389, 15:39 عصر
  3. سوال: مشکل در کار کردن با رویه های ذخیره شده
    نوشته شده توسط oliya24 در بخش SQL Server
    پاسخ: 1
    آخرین پست: دوشنبه 24 آبان 1389, 07:48 صبح
  4. پاس کردن متغیر به روال ذخیره شده
    نوشته شده توسط reza.bn2005 در بخش دسترسی به داده ها (ADO.Net و LINQ و ...)
    پاسخ: 3
    آخرین پست: پنج شنبه 10 اردیبهشت 1388, 12:39 عصر
  5. مرتب کردن ستون های عددی ذخیره شده به صورت رشته
    نوشته شده توسط Sal_64 در بخش C#‎‎
    پاسخ: 2
    آخرین پست: چهارشنبه 25 اردیبهشت 1387, 13:27 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •