• 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
اضافه شدن هم زمان چند داده
#1
سلام من می خوام بدونم توی سایت های بزرگ وقتی که مثلا برای دیتا بیس یک شمارنده بزاریم و وقتی چند کاربر همزمان با هم بخوان مثلا یک خبر رو اضافه کننده mysql از کجا میدونه که بکدوم چه شماره بده تا مثلا از شماره id تکرار نشه؟
  پاسخ
تشکر شده توسط :
#2
Dodgy
شما قبل از اینکه اطلاعات رو اینسرت کنی ، اول تیبل رو لاک کن ، بعد آی دی آخرین رکورد رو بگیر ، تیبل رو آزاد کن بعد اینسرت کن .
فیلد آی دی رو هم یونیک بذار تا تکراری قبول نکنه
  پاسخ
تشکر شده توسط : hamid_80386 ali786
#3
سلام
البته دوست عزیز اینگونه موارد در کثری از ثانیه انجام می شود و معمولا توسط خود MySql مدیریت می شود
اما اگر فکر میکنی بازدید ها وحشت ناک بالاست Tongue درست و اصولی همون کاریه که رضای عزیز گفت ، البته در این رابطه کلاس های خوبی هم وجود دارد .
موفق باشی
  پاسخ
تشکر شده توسط :
#4
(۱۳۹۱ مهر ۰۴, ۰۹:۵۳ ب.ظ)navids_69 نوشته: سلام من می خوام بدونم توی سایت های بزرگ وقتی که مثلا برای دیتا بیس یک شمارنده بزاریم و وقتی چند کاربر همزمان با هم بخوان مثلا یک خبر رو اضافه کننده mysql از کجا میدونه که بکدوم چه شماره بده تا مثلا از شماره id تکرار نشه؟
اگر منظورت فیلد auto increment هست، قاعدتا مدیریت دسترسی همزمان رو خود MySQL انجام میده و شما نباید نگران تکراری شدن شماره ها باشی. چون همچنین اتفاقی نمی افته. مسئولیتش گردن مای اس کیو اله و حتما بصورت داخلی مکانیزمی داره برای این مسئله.
ولی اگر مقدار شمارنده رو خودت تغییر میدی، اونوقت باید کد و روش کار رو بررسی کرد که بر اثر دسترسی همزمان دچار باگ نشه. در بعضی موارد ممکنه به قفل کردن جدول (یا یک مکانیزم به شکل دیگری) نیاز باشه و در بعضی موارد هم نه.
  پاسخ
تشکر شده توسط : ali786


پرش به انجمن:


کاربران در حال بازدید این موضوع: 1 مهمان