ورود

View Full Version : آیا میتوان نوشت : Where ID=* ?



bad_boy_2007
سه شنبه 22 دی 1388, 20:19 عصر
سلام دوستان
چندی پیش کتابی میخواندم که در مورد بهینه کردن استورد پروسیجرها توضیح میداد ، در بخشی از متن کتاب که در مورد (With Recompile) توضیح داده بود مثالی مشابه مثال زیر گذاشته بود :



declare @ID int
set @ID=1

select * from Customers Where ID= @ID


و گفته شده بود با اجرای دستور فوق یک طرح اجرایی که از ایندکس بر روی id استفاده میکند ، اجرا میشود .

دز ادامه مثال مشابه ذیل را گذاشته بود :



declare @ID int
set @ID=*

select * from Customers Where ID= @ID


و در مورد مثال بالا هم گفته بود که این کوئری از ایندکس استفاده نمیکند و تمامی رکوردها را یک بیک بازیابی میکند (اگر اشتباه نکرده باشم از واژه پویش استفاده کرده بود)


و اما سوال من !
آیا میتوان کوئری ای مشابه دومین کوئری که در بخش Where از * استفاده شده را نوشت ؟ اگر بلی ، چگونه ؟

benyaminrahimi
سه شنبه 22 دی 1388, 20:31 عصر
خير
select * from Customers Where ID is null or id>0