PDA

View Full Version : سوال: کریستال ریپورت و گزارش های بزرگ



mahdidabaghi
سه شنبه 02 خرداد 1391, 01:52 صبح
با سلام خدمت دوستان
من یه پروژه واسه یه ارگانی نوشتم(اولین کارمه و تا حدودی بی تجربه) که اطلاعاتی رو واسه یه شی(حدود 60 فیلد و 4 تا عکس) وارد میکنه.من واسه این کار یه تیبل تعریف کردم.مشکل اینجایه که زمانی که تعداد اطلاعات تو دیتابیس زیاذ میشه(از 15000 به بالا) اونوقت موقع گزارش گیریم به مشکل میخورم.(یعنی دیگه اطلاعاتمو که قبلا به راحتی گزارش میگرفتم تو این حجم زیاد اطلاعات نشون نمیده)
حالا سوالم از شما دوستان عزیزم اینه چجوری میتونم این حجم زیاد اطلاعاتو تو گزارشم نشون بدم؟ لازم به ذکره که واسه گزارش یه پروسیجر select all تو اس کیو ال تعریف کردم و اونو تو گزارش نشون میدم
شرمنده که طولانی شد
ممنون میشم راهنماییم کنین

hosseinenayati_2009
سه شنبه 02 خرداد 1391, 03:11 صبح
سلام شما باید بانک تون را بخش بندی کنید.خیلی بهتره
مثلا به شی که دارید یه کد بدید و از اون کد خاص از تو جدول کارهاتون را بکنید
مثلا از کد 1000 تا 2000 جدول شی 1
و از کد 2001 تا 3000 جدول شی 2
و...
اینجوری باعث میشه که خوندن از بانک سریعتر بشه و گزارش گیری هم ساده بشه.

mahdidabaghi
سه شنبه 02 خرداد 1391, 09:17 صبح
ممنونم از شما
ولی اینجوریم حجم اطلاعات بیشتر میشه.میشه بیشتر توضیح بدین؟
البته منبا یکی از دوستان که صحبت میکردم میگفتن که مثلا برای هر کدوم از ایتم های کمبو باکسم(مثلا یکیشون 6 ایتم داره) یه عدد بگیرم(ایتم 1 = عدد 1وایتم 2 = عدد 2 و...) که با این کار باعث میشه بجای nvarchar تو دیتا بیس از int استفاده کنم و زمان نشون دادن تو برنامه عدد رو بگیرمو با توجه به اون ایتم مورد نظر نشون بدم
خوشحال میشم پیشنهادات دوستان دیگمم داشته باشم که select all سبکتری واسه این حجم اطلاعات داشته باشم

mahdidabaghi
سه شنبه 02 خرداد 1391, 22:35 عصر
دوستان کماکان منتظر کمک قشنگتون هستم
پروژه رو باید تا چند روز دیگه تحویل بدم!!!!!!!!!!!!!!!!!!!!

macsharp
سه شنبه 02 خرداد 1391, 23:20 عصر
سلام دوست عزیز
فکر کنم تو تحلیل و طراحی بانک اطلاعاتیت اشتباه کردی
برای افزونگی و خلاصه سازی اطلاعات کاری انجام دادی ؟
مثلا فکر میکنیم شما یه فیلد رنگ داری قرار نیست تو تمام این فیلد ها اسم رنگ وارد بشه باید یه جدول کمکی داشته باشی و به هر رنگ یه کد بدی این طوری کلی از زمان اجرا کوئری ها کم میکنی و از نوشتن کوئری های استانداردتر بهره مند میشی .
از استور پروسیجر کمک گرفتی تا بیشتر کار ها رو بندازی گردن اس کیو ال ؟
کریستال ریپورت ما هر چی براش بفرستیم اون نمایش میده
تمام مشکل از اطلاعاتی هست که برای کریستال ریپورت میفرستی
یه کوئری دیگه رو امتحان کن شاید مجبور بشی بانک اطلاعاتی از دوباره طراحی کنی ! ؟

mahdidabaghi
سه شنبه 02 خرداد 1391, 23:48 عصر
با تشکر از شرکت شما تو بحث
این حرف شما منطقیه که باید به جای خود رنگ(مثلا آبی) یه کد به اس کیو ال بفرستم(مثلا 1)
در قسمت بعد اره من تمام کارا رو تو پروسیجر انجام میدم
به نظر شما من باید واسه تمام فیلدهای کمبو باکس(تو فرم ثبت حدود 30 تا کمبو باکس دارم و هر کدوم از اونا 7-8 تا آیتم داره) واسه هر کدومشون یه تیبل در نظر بگیرم؟ یا نه؟
ممنون میشم راهنماییم کنین

mahdidabaghi
چهارشنبه 03 خرداد 1391, 00:55 صبح
دوستان هلپ مییییییییییییی

hosseinenayati_2009
جمعه 05 خرداد 1391, 02:10 صبح
سلام شما منظور من را درست نفهمیدید.من گفتم بهتره از یه تیبل استفاده نکنی. برای برنامه تون.شما از چند جدول استفاده کنید مثلا شی کفش من به کد 1001 داخل تیبل شی 1 است و تیبل شی 2 من هم 4000 فیلد داره. من میخوام مشخصات کفش را ببینم اول شماره کد (همون 1001)کفش را پیدا می کنم میبنم تو تیبل شی 1 است(چون از شی 1 تا 1001 داخل تیبل شی 1 است). پس به سراغ تیبل شی 1 می روم و کارم را میکنم.و نیازی نیست تیبل شی 2 وارد حافظه بشه.و سرعت گزارش گیری را پایین بیاره