PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : سلکت و آپدیت با یک کوئری ؟!



wordpress
March 24th, 2011, 20:21
میشه با یک کوئری هم select کرد و هم update کرد؟
برنامه من به این صورت هست که هر رکوردی که select شد باید علامت گذاری بشه تا دفعه بعد دیگه انتخاب نشه. به این صورت:
select * from table where status=0 order by rand() limit 1000
خوب، رکوردهای انتخاب شده باید status آنها رو برابر 1 کنم تا دفعه بعد انتخاب نشن برای این کار از یک حلقه استفاده می کنم و هزار بار کوئری update اجرا میشه!
راهی هست که همون موقع که رکوردها select میشن، status آنها برابر 1 بشه؟

Rezash
March 25th, 2011, 10:58
بهترين كار اينه كه از دو كوئري استفاده كنيد ولي نه در حلقه
كوئري اول كه سلكت هست.كوئري دوم رو به جاي اينكه در جلقه اجار كنيد اول ايجاد و بعد ايجاد كنيد.يعني به اين صورت :


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 ----------

*ول ايجاد و بعد (اجرا) كنيد - غلط نگارشي

wordpress
March 25th, 2011, 16:38
بهترين كار اينه كه از دو كوئري استفاده كنيد ولي نه در حلقه
كوئري اول كه سلكت هست.كوئري دوم رو به جاي اينكه در جلقه اجار كنيد اول ايجاد و بعد ايجاد كنيد.يعني به اين صورت :


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, 21:02
بهرحال بهتر از اجرا كردن چند باره كوئري هست.
مطمئنا نميشه از زير بار فشاري كه به سرور مياد در تعداد بالا فرار كرد و فقط ميشه با شرايطي اونو بهبود بخشيد.
ميتونيد كوئري ها رو دسته بندي كنيد و هر چند تا رو باهم آپديت كنيد.