-
March 24th, 2011, 20:21
#1
عضو انجمن
سلکت و آپدیت با یک کوئری ؟!
میشه با یک کوئری هم select کرد و هم update کرد؟
برنامه من به این صورت هست که هر رکوردی که select شد باید علامت گذاری بشه تا دفعه بعد دیگه انتخاب نشه. به این صورت:
select * from table where status=0 order by rand() limit 1000
خوب، رکوردهای انتخاب شده باید status آنها رو برابر 1 کنم تا دفعه بعد انتخاب نشن برای این کار از یک حلقه استفاده می کنم و هزار بار کوئری update اجرا میشه!
راهی هست که همون موقع که رکوردها select میشن، status آنها برابر 1 بشه؟
-
-
March 24th, 2011 20:21
# ADS
-
March 25th, 2011, 10:58
#2
عضو دائم
پاسخ : سلکت و آپدیت با یک کوئری ؟!
بهترين كار اينه كه از دو كوئري استفاده كنيد ولي نه در حلقه
كوئري اول كه سلكت هست.كوئري دوم رو به جاي اينكه در جلقه اجار كنيد اول ايجاد و بعد ايجاد كنيد.يعني به اين صورت :
کد PHP:
UPDATE `table` SET `stat`='1' WHERE `id`='20' OR `id`='30' OR `id`='random...` OR ....
---------- Post added at 10:58 AM ---------- Previous post was at 10:57 AM ----------
*ول ايجاد و بعد (اجرا) كنيد - غلط نگارشي
-
تعداد تشکر ها ازRezash به دلیل پست مفید
-
March 25th, 2011, 16:38
#3
عضو انجمن
پاسخ : سلکت و آپدیت با یک کوئری ؟!

نوشته اصلی توسط
Rezash
بهترين كار اينه كه از دو كوئري استفاده كنيد ولي نه در حلقه
كوئري اول كه سلكت هست.كوئري دوم رو به جاي اينكه در جلقه اجار كنيد اول ايجاد و بعد ايجاد كنيد.يعني به اين صورت :
کد PHP:
UPDATE `table` SET `stat`='1' WHERE `id`='20' OR `id`='30' OR `id`='random...` OR ....
---------- Post added at 10:58 AM ---------- Previous post was at 10:57 AM ----------
*ول ايجاد و بعد (اجرا) كنيد - غلط نگارشي
یعنی بوسیله حلقه کوئری رو بسازم بعد اجراش کنم؟ اینجوری یک کوئری خیلی طولانی درست میشه، فشار نمیاد؟
-
-
March 25th, 2011, 21:02
#4
عضو دائم
پاسخ : سلکت و آپدیت با یک کوئری ؟!
بهرحال بهتر از اجرا كردن چند باره كوئري هست.
مطمئنا نميشه از زير بار فشاري كه به سرور مياد در تعداد بالا فرار كرد و فقط ميشه با شرايطي اونو بهبود بخشيد.
ميتونيد كوئري ها رو دسته بندي كنيد و هر چند تا رو باهم آپديت كنيد.
-
تعداد تشکر ها از Rezash به دلیل پست مفید