View Full Version : فرق Top با SET ROWCOUNT چیست؟
مهیار.
یک شنبه 24 شهریور 1392, 19:57 عصر
سلام
میخواستم ببینم فرق دستور TOP باSET ROWCOUNT چیه؟؟ و از نظر کارایی چه تفاوتی میتونن داشته باشن؟
حمیدرضاصادقیان
دوشنبه 25 شهریور 1392, 09:16 صبح
سلام.
پیشنهاد میکنم اینجا (http://technet.microsoft.com/en-us/library/ms188774.aspx) رو ببینید.
مهیار.
دوشنبه 25 شهریور 1392, 16:54 عصر
مرسی ..
میشه یکم فارسی تر باشه..:بامزه::چشمک:
محمد سلیم آبادی
دوشنبه 25 شهریور 1392, 20:12 عصر
لازمه اشاره کنم که دستور SET ROWCOUNT تنها برای محدود کردن سطرهای که به واسطه ی عمل SELECT برمگیردن نیست. شما میتونید برای سایر دستورات دستکاری داده ها مثل INSERT یا UPDATE نیز از این دستور استفاده کنید. که همانطور که در لینک بهش ماکروسافت اشاره کرده شما باید از این دستور برای عمل درج، بروز رسانی یا حذف خودداری کنید چون در نسخه های بعدی این دستور برای اعمال فوق بی تاثیر خواهد بود.
البته به طور کلی نمیشه این دو (rowcount و top) را یکی دانست چرا که top امکان محدود کردن به درصد و همچنین قابلیت برگرداندن مقادیر یکسان (ties) را دارد. و میشه در subquery از آن استفاده نمود.
برای کارایی هم میتونید امتحان کنید. البته بستگی داره که از ماده ORDER BY در کدتان استفاده کرده اید یا خیر.
مهیار.
دوشنبه 25 شهریور 1392, 21:19 عصر
خبSET ROWCOUNT چه بدردی میخوره .. اصلا لازم استفاده کرد در کوئری هاا
بنظرتون استفاده نکنیم بهتر .. از همون تاپ استفاده کنیم ..
محمد سلیم آبادی
دوشنبه 25 شهریور 1392, 21:32 عصر
با توجه به اینکه TOP clause قابل بکارگیری در هر چهار دستور UPDATE - DELETE - INSERT - SELECT هست و از طرفی به گفته شرکت ماکروسافت تاثیر SET ROWCOUNT برای سه دستور دستکاری داده ها قرار است برداشته شود توصیه میشه که از TOP استفاده کنید.
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.