من هر مدتی یک آرایه حدودا ده عضوی دارم که میخوام همشون رو در رکوردهای جداگانه جدولی ذخیره کنم، و نمیخوام هم اگه عضوی از آرایه رو قبلا در دیتابیس ذخیره کرده بودم الان دوباره ذخیره کنم. به نظرتون بهینه ترین روش برای انجام اینکار چیه؟ سرچ کنم هر عضو آرایه رو در جدول، و اگر پیدا نشد رکوردی، insert کنم یا اینکه Index فیلد جدول رو unique بذارم؟
رتبه موضوع:
انتخاب روش کار
|
18-06-1394، 12:11 ق.ظ
(آخرین تغییر در ارسال: 18-06-1394، 12:21 ق.ظ توسط php.
دلیل ویرایش: تصحیح اشتباه
)
18-06-1394، 02:18 ق.ظ
سریعترین راه که به PHP و MySQL فشار کمتری میاره، Unique کردن فیلد مربوطه است. اینطوری جلوی خطاهای عمدی (مثل واردکردن دستی مقدار تکراری توی دیتابیس با phpMyAdmin و...) هم گرفته میشه.
تشکر شده توسط: php
18-06-1394، 02:48 ق.ظ
با فرض اینکه از unique استفاده کردم، وقتی مثلا یک آرایه ده عضوی رو با foeach دونه دونه Insert میکنم داخل دیتابیس، اگر مثلا چهارمی قبلا در دیتابیس ذخیره شده بشه، فقط سمت mysql یک ارروری Log میشه که این تکراری هستش ولی توی کد PHP من مشکلی پیش نمیاد و از 5 تا 10 هم همه به درستی Insert میشن. درسته؟
18-06-1394، 05:06 ق.ظ
بله ولی میتونید با mysql_insert_id یا mysql_error چک کنید ببینید تونسته insert کنه یا نه؟
|
|
کاربران در حال بازدید این موضوع: 2 مهمان