PDA

View Full Version : جداول temp



hamed_bostan
سه شنبه 29 خرداد 1386, 21:19 عصر
با سلام
ایا استفاده از جداول temp در دیتابیس وقتب تعداد کاربران زیاد میشه مشکلی ایجاد می کنه؟
ایا جدول temp ای رو که می سازیم باید پاکش کنیم؟
ممنون

SYNDROME
سه شنبه 29 خرداد 1386, 21:43 عصر
با سلام

با سلام
ایا استفاده از جداول temp در دیتابیس وقتب تعداد کاربران زیاد میشه مشکلی ایجاد می کنه؟
ایا جدول temp ای رو که می سازیم باید پاکش کنیم؟
ممنون
1-یک جدول Temp داریم که یکی در بانک می سازیم و کل کاربران آن را می بینند و اطلاعات آنها با توجه به کد کاربری (اگر شرکتها هم چند تا باشد )و کد شرکت از هم جدا می شوند.(البته این نوع جدول آن جدولی نیست که شما گفتید ولی برای نمایش گزارشات در بعضی از مواقع خیلی کارامد است.
2-در یک حالت دیگر شما جدول خود را در زمان اجرا با # می سازید و این جداول برای هر کاربر مجزا می باشد.
بهتر است بعد از استفاده آن را پاک کنید.
ولی من زمانی که گزارشات خاصی را که مدام کاربران استفاده می کنند از روش اول استفاده می کنم و با UserID و Company اطلاعات نمایشی کاربران را از هم تفکیک می کنم.
ولی در زمانی که گزارشات جوری باشد که به ندرت استفاده بشود و جدول ساخته شده سریع پاک می شود از روش دوم استفاده می کنم.

supporter
سه شنبه 29 خرداد 1386, 22:35 عصر
با سلام

1-یک جدول Temp داریم که یکی در بانک می سازیم و کل کاربران آن را می بینند ...
2-در یک حالت دیگر شما جدول خود را در زمان اجرا با ## می سازید و این جداول برای هر کاربر مجزا می باشد.
بهتر است بعد از استفاده آن را پاک کنید.


Local temp table که با # شروع میشن تنها در همون Session جاری قابل دسترسی هستند و مسلما سایر کاربران این نوع از جداول را نخواهند دید(برای هر کاربر چدول مجزایی ایجاد میشه) و در انتهای Session به طور خودکار Drop می‌شن
برعکس، Global temp table که با ## شروع میشن در سایر Session ها قابل روئت اند و در نتیجه امکان ایجاد چند Global temp table با یک نام در Session های مختلف وجود نداره.

AminSobati
چهارشنبه 30 خرداد 1386, 10:33 صبح
وقتی تعداد کاربرها زیاد میشه، هر چیزی میتونه مشکل ایجاد کنه، نه فقط Temp Table ها! من توصیه میکنم در جایی که واقعا به جداول موقتی نیاز دارید، ازشون استفاده کنین. در موارد زیادی دیدم برنامه نویسها به خاطر ضعف در نوشتن Query تصور میکنن که جدول موقتی تنها راه حله. البته در مورد شما من فرض رو بر این قرار میدم که واقعا نیاز دارین.
ترجیحا اگر کار با Table Variable راه میافته، ازشون به جای Temp Table استفاده کنین چون در حافظه تشکیل میشن و IO روی دیسک ندارند. اما اگر حجم اطلاعاتی که واردشون میکنین زیاد باشه، در TempDB مثل جداول موقتی Dump میشن.

SYNDROME
چهارشنبه 30 خرداد 1386, 14:49 عصر
با سلام
با تشکر از supporter.
اشتباه شده بود.
منظورم # بود نه ##.
اصلاح کردم.