Arash_janusV3
شنبه 16 دی 1391, 21:54 عصر
درود بر دوستان
فرض کنیم یک sored داریم با این مشخصات
create procedure [dbo].[string_select]
(
@string varchar(max)
)
as
exec (@string)
یک رشته را دریافت می کند و آن را اجرا می کند
رشته می تواند یک select و یا insert و ... باشد
استفاده از این روش بسیار کاربردی هستش
چون به طور چشمگیری تعداد stored ها را کاهش می ده و دیگه مجبور نیستیم برای هر کاری یک stored بسازیم
به راحتی می توانیم رشته مورد نظر را در زبان برنامه نویسی بسازیم و آن را به این stored پاس بدیم
همون طور که گفتم ما فقط به همین stored نیاز داریم و همیشه همین را صدا می زنیم
غیر از اون سرعت اجرا به مراتب روان تر خواهد شد
برای تست هم چندین select را ترکیب کردم و در stored ریختم مدت اجرای خروجی آن 3 ثانیه بود
ولی وقتی به عنوان رشته اجرا کردم اجرای اون به زیر 2 ثانیه رسید
فقط تنها مسئله ای که وجود دارد اینه که در یک بانک اطلاعاتی ممکنه بیش از 1000 stored وجود داشته باشه
و قرار همه را به زبان برنامه نویسی انتقال داد و فقط یک stored که اون هم کارش فقط اجرای رشته هستش تبدیل کنیم
به نظر شما این حجم اجرا مشکلی را پیش نمی آورد؟
آیا تحت شبکه بودن اجرای این stored مشکلی پیش نمی آید؟
این روش اگر اشکالی دارد لطفا مطرح کنید
با سپاس فراوان
فرض کنیم یک sored داریم با این مشخصات
create procedure [dbo].[string_select]
(
@string varchar(max)
)
as
exec (@string)
یک رشته را دریافت می کند و آن را اجرا می کند
رشته می تواند یک select و یا insert و ... باشد
استفاده از این روش بسیار کاربردی هستش
چون به طور چشمگیری تعداد stored ها را کاهش می ده و دیگه مجبور نیستیم برای هر کاری یک stored بسازیم
به راحتی می توانیم رشته مورد نظر را در زبان برنامه نویسی بسازیم و آن را به این stored پاس بدیم
همون طور که گفتم ما فقط به همین stored نیاز داریم و همیشه همین را صدا می زنیم
غیر از اون سرعت اجرا به مراتب روان تر خواهد شد
برای تست هم چندین select را ترکیب کردم و در stored ریختم مدت اجرای خروجی آن 3 ثانیه بود
ولی وقتی به عنوان رشته اجرا کردم اجرای اون به زیر 2 ثانیه رسید
فقط تنها مسئله ای که وجود دارد اینه که در یک بانک اطلاعاتی ممکنه بیش از 1000 stored وجود داشته باشه
و قرار همه را به زبان برنامه نویسی انتقال داد و فقط یک stored که اون هم کارش فقط اجرای رشته هستش تبدیل کنیم
به نظر شما این حجم اجرا مشکلی را پیش نمی آورد؟
آیا تحت شبکه بودن اجرای این stored مشکلی پیش نمی آید؟
این روش اگر اشکالی دارد لطفا مطرح کنید
با سپاس فراوان