PDA

View Full Version : سوال: مقایسه linq و ado



mohsen_1687
جمعه 26 اردیبهشت 1393, 23:48 عصر
با سلام خدمت همه دوستان و اساتید گرامی
من میخوام به پروژه انجام بدم که حجم دیتابیس زیادی داره یعنی کار با میلیون رکورد هست خودم دلم میخواد از LINQ استفاده کنم ولی همه میگن این روش هزینه زمانی زیادی داره یعنی اول باید تبدیل به دستور SQL بشه بعد تو SQL اجرا بشه ، ولی در مقابل SP ها در درون SQL SERVER کش میشن و سرعت اجرای بیشتری دارن ؛ میخوام بدونم ایا صحت داره یانه
دوستان و اساتید ممنون میشم اگر راهنمایم کنید و موضوع رو برام روشن کنید

meysam99
شنبه 27 اردیبهشت 1393, 23:09 عصر
سلام
اگه خوب بلد هستی با ado و sp کار کنی و دستورات رو بصورت بهینه می نویسی حتما از این روش برای بانک های حجیم استفاده کن.
در غیر این صورت ef برای استفاده مناسبتره . مثلا ef اطلاعات رو براتون کش میکنه که سرعت رو بسیار زیاد میکنه و همچین کدها رو همیشه درست می نویسی . ولی مشکلات خود را هم داره مثلا بعد از هر بار وارد کردن اطلاعات یک دستور select هم اضافه می شود که برای بانکهای سنگین خوب نیست و باید این قابلیت رو حذف کنی. همچین امکان حذف و آپیدت های گروهی ندارد و باید رکورد به رکورد انجام شود. برای حل این مشکل میتوانی از sp یا اینکه افزونه های دیگه که به ef اضافه می شود استفاده کنی.
در آخر می تونم بگم که هر دو روش خیلی خوب هست بیشتر به نوع استفاده شما و از همه مهمتر طراحی دیتا بیس و از ایندکس گذاری داره.
مثلا خود من یک بانک اطلاعاتی دارم که فکر کنم حدود 200 میلیون رکورد داره و روزی یک میلیون هم به آن اضافه می شود و در روز شاید 2 میلیون رکورد برای آپدیت داره . با این حجم زیاد هر کوئری من در این بانک زمانی در حدود 50 میلی ثانیه داره. من از ado استفاده کرده ام

mohsen_1687
یک شنبه 28 اردیبهشت 1393, 01:08 صبح
ا ولی مشکلات خود را هم داره مثلا بعد از هر بار وارد کردن اطلاعات یک دستور select هم اضافه می شود که برای بانکهای سنگین خوب نیست و باید این قابلیت رو حذف کنی.

ممنوم از راهنمایتون ولی من این قسمت رو متوجه نشدم میشه واضح تر راجعبه این قسمت توضیح بدین


برای حل این مشکل میتوانی از sp یا اینکه افزونه های دیگه که به ef اضافه می شود استفاده کنی

میشه بگین چه افزونه هایی این کار رو میکنند