PDA

View Full Version : طراحی و ساخت دیتابیس با برای داده های حجیم ،فیلدهای زیاد و تحت شبکه



Modifier
چهارشنبه 20 بهمن 1389, 14:22 عصر
سلام
چطور میشه دیتابیسی با مشخصاتی که در عنوان ذکر شد طراحی و پیاده سازی کرد که بهترین کارایی رو داشته باشه...
مشکل اساسی من توی ساختن View هست که مثلا :
با استفاده از چندتا Table یک View1 ایجاد شده ... View1 و یک Table رو در ساختن View2 بکار بدم ... خالا که میخواهم واکشی کنم وقتی حجم داده ها و رکورد ها زیاد بشه سرعت بطور خیلی زیادی میآد پایین...

آیا برای ساخت View موارد و استانداردی هست که من رعایت نکردم ؟
چطور این مشکل را حل کنم ؟

ممنون.
یاعلی.

حمیدرضاصادقیان
چهارشنبه 20 بهمن 1389, 20:23 عصر
سلام.
در طراحی دیتابیس شما باید یک سری اصول رو رعایت کنید.مثل نرمال سازی جداول ، طراحی مناسب ایندکس ها، نوع فیلدها و...
در بررسی علل کندی کوئری ها موارد زیادی هست که باید بررسی شوند.
اول باید موارد بالا که ذکر کردم بهشون توجه بشه. بعد به نوع کدهایی که در vIEW ها نوشتید باید توجه بشه.
باید PLAN مورد بررسی قرار بگیره.

m_omrani
چهارشنبه 20 بهمن 1389, 23:10 عصر
اگه بحث Performance براتون بسیار اهمیت داره اگرچه نماها (Views) ممکنه مفید به نظر برسن اما تا جای ممکن باید از اونها اجتناب کنید مگه این که چاره دیگه نداشته باشید. چون از نظر سرعت و کارایی مناسب نیستن. خصوصاً وقتی به صورت nested (یعنی بر اساس همدیگه) نوشته می شن.

Mahbod Rad
پنج شنبه 21 بهمن 1389, 12:12 عصر
اگه بحث Performance براتون بسیار اهمیت داره اگرچه نماها (Views) ممکنه مفید به نظر برسن اما تا جای ممکن باید از اونها اجتناب کنید مگه این که چاره دیگه نداشته باشید. چون از نظر سرعت و کارایی مناسب نیستن. خصوصاً وقتی به صورت nested (یعنی بر اساس همدیگه) نوشته می شن.


سلام دوست عزیز
من با این نظر شما موافق نیستم و از ویوها خیلی استفاده میکنم
من با این روش حداقل اطلاعات را وارد سیستم میکنم و در زمان نیاز فقط اطلاعات مورد نیاز را لود میکنم و فکر میکنم با این روش فشار کمتری روی شبکه میآورم
فرض کنید که شما یک جدول 20 فیلدی با 100.000 رکورد اطلاعات دارید و برای یک موضع خاص نیاز به اطلاعات دو فیلد این جدول دارد. خب چکار میکنید تمام اطلاعات جدول را لود میکنید یا با یک ویو فقط همان دو فیلد را بازیابی میکنید؟

m_omrani
جمعه 22 بهمن 1389, 11:44 صبح
توصیه می کنم در خصوص View ها و Performance اونها در اینترنت سرچ کنید.

به عنوان مثال این لینک رو ببینید:

http://www.sql-server-performance.com/tips/views_general_p1.aspx

Modifier
یک شنبه 01 اسفند 1389, 09:27 صبح
آیا صحبت من درسته ؟
که هیچگاه از View برای واکشی اطلاعات استفاده نکنیم و فقط برای دیدن اطلاعات (برای بررسی صحت اطلاعات مرتبط ، از جاهای مختلف) استفاده کرد ؟
و اون Join یا Union ی که داریم در View استفاده میکنیم رو بیاریم توی SP ؟

Modifier
یک شنبه 01 اسفند 1389, 09:32 صبح
فرض کنید که شما یک جدول 20 فیلدی با 100.000 رکورد اطلاعات دارید و برای یک موضع خاص نیاز به اطلاعات دو فیلد این جدول دارد. خب چکار میکنید تمام اطلاعات جدول را لود میکنید یا با یک ویو فقط همان دو فیلد را بازیابی میکنید؟

Select Field1,Field2 Form Table_Name
اگر بخواهید View هم بسازید باید همین Select رو اجرا کنید.