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

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

  1. #1

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

    سلام برنامه ای نوشتم به این صورت که رکوردها در دیتابس به صورت زیر هستند
    CREATE TABLE [dbo].[tbl1] (
    [heyid] INT IDENTITY (1, 1) NOT NULL,
    [heynamber] INT NOT NULL,
    [heynamberD] NVARCHAR (50) NOT NULL,
    [heydate] DATETIME NOT NULL,
    [heymelli] NVARCHAR (10) NOT NULL,
    [heytype] NVARCHAR (200) NOT NULL,
    [heyimg] VARBINARY (MAX) NOT NULL,
    [heyok] BIT DEFAULT ((0)) NOT NULL,
    [heyoffice] NVARCHAR (50) NOT NULL,
    [heyprice] NVARCHAR (50) NOT NULL,
    [heyejra] DATETIME DEFAULT (NULL) NULL,
    PRIMARY KEY CLUSTERED ([heyid] ASC)
    );



    وقتی جستجو میزنم به صورت پروسیجر داده ها با عکس سرعتشون کم بود ولی اومدم و دستور را بدون عکس زدم و سرعتش با 500 رکورد خوبه فقط وقتی به این صورت عکس رو جدا گونه از بانک میخونم سرعت یکم کند شده و میترسم کند تر هم بشه .پیشنهاد شما چیه؟
    CREATE PROCEDURE [dbo].[Pshowimg]
    @heyid int
    AS
    SELECT heyid, heyimg from tbl1 where heyid=@heyid
    RETURN 0

    کد C#‎ خوندن عکس هم
    SqlConnection connect2 = new SqlConnection(ConfigurationManager.ConnectionStrin  gs["conect"].ToString());
    connect2.Open();
    SqlCommand cmd2 = new SqlCommand("Pshowimg", connect2);
    cmd2.CommandType = CommandType.StoredProcedure;
    cmd2.Parameters.Add("@heyid", SqlDbType.NVarChar).Value =
    this.dataGridView1.Rows[rowIndex].Cells["heyid"].Value;
    SqlDataReader dread2 = cmd2.ExecuteReader();
    if (dread2.Read())
    {
    Image img;
    byte[] imageByte = (byte[])dread2["heyimg"];
    MemoryStream ms = new MemoryStream(imageByte);
    img = Image.FromStream(ms);
    bmp = new Bitmap(img);
    }

    dread2.Close();
    connect2.Close();

  2. #2
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: افزایش سرعت بارگزاری اطلاعات هنگامی که رکورد ها دارای تصویر هستند

    به نظرم ذخیره تصویر در دیتابیس یکی از بزرگترین اشتباهاته.اونم به صورتی که شما دارید ذخیره میکنید. یا برید سمت فایل تیبل یا اینکه عکسهارو در فولدری در کنار برنامه ذخیره کنید و هنگامی که کاربر روی ردیفی کلیک میکند متناظر با ان ردیف عکس از فولدر فراخوانی شود.

  3. #3

    نقل قول: افزایش سرعت بارگزاری اطلاعات هنگامی که رکورد ها دارای تصویر هستند

    نقل قول نوشته شده توسط رامین مرادی مشاهده تاپیک
    به نظرم ذخیره تصویر در دیتابیس یکی از بزرگترین اشتباهاته.اونم به صورتی که شما دارید ذخیره میکنید. یا برید سمت فایل تیبل یا اینکه عکسهارو در فولدری در کنار برنامه ذخیره کنید و هنگامی که کاربر روی ردیفی کلیک میکند متناظر با ان ردیف عکس از فولدر فراخوانی شود.
    اونوقت بک آپ گرفتن از اون مشکله چون سرور من یه سیستم سادست و هر آن ممکنه بسوزه
    الان تو یه سیستم اتوماسیون اداری که داریم باهاش کار میکنیم عکس به صورت VARBINARY (MAX) در بانک ذخیره شده.

  4. #4
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: افزایش سرعت بارگزاری اطلاعات هنگامی که رکورد ها دارای تصویر هستند

    نقل قول نوشته شده توسط mahan206 مشاهده تاپیک
    اونوقت بک آپ گرفتن از اون مشکله چون سرور من یه سیستم سادست و هر آن ممکنه بسوزه
    الان تو یه سیستم اتوماسیون اداری که داریم باهاش کار میکنیم عکس به صورت VARBINARY (MAX) در بانک ذخیره شده.
    عر طور تمایلید میتونید انجام بدید ولی مطمئن باشید نه تنها من بلکه اساتید من تو این فروم که خیلی چیزا ازشون یاد گرفتم هم شماره رو ترغیب میکنن تو دیتابیس ذخیره نکنید.
    الان من یه دیتابیس دارم که 3 ساله کار میکنه . حجمش 200 مگ نشده و فایلهای کنارش تا مرز 300 گیگ رفته . فکر کنید یه دیتابیس 300 گیگی بکاپ و نگهداریش راحتتره یا 200 مگا بایتی؟ بکاپ رو میتونید با نرم افزار های جانبی مثل آکرونیک هم تنظیم کنید خودکار از فایلهاتون بگیره. دیتابیس رو هم اتوماتیک میتونید بکنید.

    مطمئن باشید چندتا فایل از دست رفته رو میشه بازیابی یا جایگزین کرد اما دیتابیس چند صد گیگابایتی کارو خیلی سخت تر میکنه.


    فارغ از اینهمه توصیه ای که کردم (). شما وقتی سلکت میکنید اون فیلد تصویر رو از سلکتتون حذف کنید. بعد که کاربر رو سطر کلیک کرد تصویر رو همون لحظه سلکت کنید.

  5. #5

    نقل قول: افزایش سرعت بارگزاری اطلاعات هنگامی که رکورد ها دارای تصویر هستند

    نقل قول نوشته شده توسط رامین مرادی مشاهده تاپیک
    عر طور تمایلید میتونید انجام بدید ولی مطمئن باشید نه تنها من بلکه اساتید من تو این فروم که خیلی چیزا ازشون یاد گرفتم هم شماره رو ترغیب میکنن تو دیتابیس ذخیره نکنید.
    الان من یه دیتابیس دارم که 3 ساله کار میکنه . حجمش 200 مگ نشده و فایلهای کنارش تا مرز 300 گیگ رفته . فکر کنید یه دیتابیس 300 گیگی بکاپ و نگهداریش راحتتره یا 200 مگا بایتی؟ بکاپ رو میتونید با نرم افزار های جانبی مثل آکرونیک هم تنظیم کنید خودکار از فایلهاتون بگیره. دیتابیس رو هم اتوماتیک میتونید بکنید.

    مطمئن باشید چندتا فایل از دست رفته رو میشه بازیابی یا جایگزین کرد اما دیتابیس چند صد گیگابایتی کارو خیلی سخت تر میکنه.


    فارغ از اینهمه توصیه ای که کردم (). شما وقتی سلکت میکنید اون فیلد تصویر رو از سلکتتون حذف کنید. بعد که کاربر رو سطر کلیک کرد تصویر رو همون لحظه سلکت کنید.

    منم اول خواستم به روشی که شما رفتید انجام بدم چون در طراحی سایت از این روش میرفتم اما بعد تو اینترنت که میخوندم دیگه پشیمون شدم و رفتم به این سمت .من کلا سلکت که میزنم بدون عکس سلکت میزنم و سرعتش خوبه و بعد که نمایش عکس کلیک میکنه یه جستجو در بانک میزنم دوباره وفقط عکس رو میارم که پروسیجرش هم گذاشته شده.فعلا سرعتش بد نیست من نگران اینده ام.
    در کل حجم بانک با 500 رکورد الان شده 2 گیگ و برآورد میشه که هر سال حداقل 1000 رکورد یا 800 رکورد داشته باشیم.
    این برنامه یه سیستم عادی 2 هسته ای به عنوان سرور گذاشتم و بعد به صورت شبکه سیستم های دیگه با این سرور ارتباط دارن.شبکه هم گستردست در حد یه استان.
    خواستم فقط از تجربه دوستان و اساتید کمک بگیرم.

  6. #6

    نقل قول: افزایش سرعت بارگزاری اطلاعات هنگامی که رکورد ها دارای تصویر هستند

    این روش چطوره؟ لطفا یه روش عالی بگید که من دوباره برنگردم از اول کد نویسی کنم ممنون

  7. #7
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: افزایش سرعت بارگزاری اطلاعات هنگامی که رکورد ها دارای تصویر هستند

    نقل قول نوشته شده توسط mahan206 مشاهده تاپیک
    این روش چطوره؟ لطفا یه روش عالی بگید که من دوباره برنگردم از اول کد نویسی کنم ممنون
    تو اولین پست هم اشاره کردم. استفاده از فایل تیبل که روش جدیدتری نسبت به فایل استریم هست رو توصیه میکنم. البته فایل استریم هم روش خوبیه.

  8. #8

    نقل قول: افزایش سرعت بارگزاری اطلاعات هنگامی که رکورد ها دارای تصویر هستند

    نقل قول نوشته شده توسط رامین مرادی مشاهده تاپیک
    تو اولین پست هم اشاره کردم. استفاده از فایل تیبل که روش جدیدتری نسبت به فایل استریم هست رو توصیه میکنم. البته فایل استریم هم روش خوبیه.
    ممنونم منبع خوب سراغ نداری فارسی که به صورت ساده توضیح داده باشه

  9. #9
    کاربر دائمی آواتار رامین مرادی
    تاریخ عضویت
    اردیبهشت 1389
    محل زندگی
    آذربایجان
    پست
    1,961

    نقل قول: افزایش سرعت بارگزاری اطلاعات هنگامی که رکورد ها دارای تصویر هستند

    نقل قول نوشته شده توسط mahan206 مشاهده تاپیک
    ممنونم منبع خوب سراغ نداری فارسی که به صورت ساده توضیح داده باشه
    این برای فایل استریم
    https://www.dotnettips.info/post/331...a7%d9%88%d9%84

    اینم برای فایل تیبل

    https://www.dotnettips.info/post/130...%d8%ae%d8%b4-1

  10. #10

    نقل قول: افزایش سرعت بارگزاری اطلاعات هنگامی که رکورد ها دارای تصویر هستند

    اینا رو خودم پیدا کرده بودم ولی بازم ممنون راهنمایی کردی تشکر

  11. #11
    کاربر دائمی آواتار mmbguide
    تاریخ عضویت
    اسفند 1386
    محل زندگی
    منظومه شمسی
    پست
    1,170

    نقل قول: افزایش سرعت بارگزاری اطلاعات هنگامی که رکوردها دارای تصویر هستند

    سلام. پیشنهاد میکنم اگر نیاز هست که تصویر در بانک ذخیره بشه، در صورت امکان محدودیت حداکثر حجم براش تعریف کنید و یا در زمان ذخیره بصورت خودکار برنامه این کار رو انجام بده. اما راه حل دوم پیشنهادی من اینه که همیشه اگر مجبور هستید که عکس رو مستقیما در بانک ذخیره کنید حتما در زمان ذخیره یک Thumbnail از تصویر هم تولید و ذخیره کنید. تا در مواردی که یک تصویر رو میخوایید صرفا از لحاظ بررسی اجمالی بارگذاری کنید بهترین گزینه هستش و حالا هر زمان به تصویر اصلی نیاز داشتید میتونید همون تصویر رو کامل از بانک دریافت کنید. حتی میتونید یک جدول جداگانه برای تصاویر اصلی خودتون اضافه کنید.

    البته در صورت امکان به سمت FileStream و FileTable برید.

  12. #12

    نقل قول: افزایش سرعت بارگزاری اطلاعات هنگامی که رکوردها دارای تصویر هستند

    نقل قول نوشته شده توسط mmbguide مشاهده تاپیک
    سلام. پیشنهاد میکنم اگر نیاز هست که تصویر در بانک ذخیره بشه، در صورت امکان محدودیت حداکثر حجم براش تعریف کنید و یا در زمان ذخیره بصورت خودکار برنامه این کار رو انجام بده. اما راه حل دوم پیشنهادی من اینه که همیشه اگر مجبور هستید که عکس رو مستقیما در بانک ذخیره کنید حتما در زمان ذخیره یک Thumbnail از تصویر هم تولید و ذخیره کنید. تا در مواردی که یک تصویر رو میخوایید صرفا از لحاظ بررسی اجمالی بارگذاری کنید بهترین گزینه هستش و حالا هر زمان به تصویر اصلی نیاز داشتید میتونید همون تصویر رو کامل از بانک دریافت کنید. حتی میتونید یک جدول جداگانه برای تصاویر اصلی خودتون اضافه کنید.

    البته در صورت امکان به سمت FileStream و FileTable برید.
    ممنون از پاسختون چون عکس ها یک متن تایپ شده و واضح بگم مثل رای دادگاه میمونن و باید خط به خط خونده بشن نمیشه کیفیت را پایین اورد و مجبورم از همون فایل استریم یا فایل تیبل استفاده کنم.
    بهر حال هر پیشنهاد دیگه ای غیر از اینها وجود داره بگن اساتید و دوستان ممنون میشم اگرم نیست که همین روش ها رو استفاده کنم

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

  1. دانلود و نمایش تصویر بدون افت سرعت برنامه
    نوشته شده توسط omid_student در بخش C#‎‎
    پاسخ: 2
    آخرین پست: سه شنبه 29 اردیبهشت 1394, 10:10 صبح
  2. پردازش تصویر و اعمال فیلتر و کاهش در سرعت پردازش
    نوشته شده توسط mehran901 در بخش برنامه نویسی در 6 VB
    پاسخ: 11
    آخرین پست: شنبه 31 فروردین 1392, 21:06 عصر
  3. گفتگو: سرعت لود تصویر
    نوشته شده توسط ali reza mansoori 2 در بخش برنامه نویسی در 6 VB
    پاسخ: 3
    آخرین پست: جمعه 22 بهمن 1389, 11:28 صبح
  4. پردازش تصویر با سرعت بالا
    نوشته شده توسط Fagat_tanhaie در بخش برنامه نویسی در 6 VB
    پاسخ: 3
    آخرین پست: شنبه 16 تیر 1386, 18:25 عصر
  5. افزایش سرعت پردازش تصویر
    نوشته شده توسط Morteza Manafpour در بخش برنامه نویسی در 6 VB
    پاسخ: 10
    آخرین پست: چهارشنبه 27 مهر 1384, 14:37 عصر

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

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