PDA

View Full Version : مشکل فیلدهای محاسباتی



sarami
دوشنبه 24 مرداد 1384, 08:00 صبح
با سلام خدمت همگی دوستان
در sql موجود بر روی نرم افزار access چنانچه از نتیجه یک فیلد محاسباتی بر روی فیلد محاسباتی دیگر در همان guery استفاده می گردید به مشکلی برخورد نمی کردیم ولی در sql هر کجا که با نام آن فیلد سرو کار داشته باشیم و بخواهیم فیلد محاسباتی دیگری را به وسیله آن تشکیل دهیم مجبور به تکرار محاسبه فیلد محاسباتی اول خواهیم بود . آیا دوستان روشی را سراغ دارند که بتوان به همان ترتیب در sql عمل کرد.

AminSobati
دوشنبه 24 مرداد 1384, 22:42 عصر
در این مورد حق با شماست. Computed Column نمیتونن همدیگه رو استفاده کنن. ولی این امکان وجود داره تا شما فرمولهای خودتون رو به Functionهای کوچکتر بنویسین و Reuse کنین. البته باز به هدف شما بستگی داره که چنین امکان وجود داشته باشه یا نه..

sarami
چهارشنبه 02 شهریور 1384, 07:58 صبح
اقای ثباتی عزیز متاسفانه این روشی که شما پیشنهاد کردین رو تست کردم متاسفانه سرعت اجرا بسیار پایین میاد ایا روش دیگه ای وجود نداره

AminSobati
چهارشنبه 02 شهریور 1384, 09:29 صبح
پس میشه نتیجه گرفت که حتی اگر Comuted Column هم استفاده کنین باز سرعت اجرا همون خواهد بود، چون منطق کار یکسانه.
ولی در Function میتونین از with schemabinding استفاده کنین و روی فیلدهایی که از این تابع استفاده میکنند، ایندکس بسازین. ایندکس باعث میشه مقادیر بدست اومده بصورت فیزیکی روی دیسک قرار بگیره و موقع Query گرفتن، محاسبه ای اتفاق نیافته.