PDA

View Full Version : حرفه ای: رفتار عجیب جدول InnoDB چه دلیلی داره؟



i-php-i
چهارشنبه 04 تیر 1393, 23:22 عصر
من دفعه اوله که تصمیم گرفتم با جدول نوع InnoDB کار کنم و برای تست این جدول حدود 200،000 رکورد به جدول اضافه کردم (البته دقیقا نمی دونم چند رکورد اضافه شده).

اما مشکلی که دارم اینه که وقتی توی phpmyadmin دیتابیس رو نگاه می کنم آمار متفاوتی از تعداد رکوردهای ذخیره شده در این جدول ارائه می شه

آمار به این صورت نمایش داده می شه
~221,431
~258,335
~252,327
~294,926

وقتی وارد جدول می شم و از بخش پیجینگ صفحه آخر رو باز می کنم هیچ رکوردی بهم نمایش داده نمی شه!

شاهکارش هم اینجاست که وقتی توی سایت محصولات رو نمایش می دم تا محصول 92،255 رو نمایش می ده و بقیه رو نمایش نمی ده!

دلیل این رفتار چیه؟

البته باید بگم که در ابتدا این جدول از نوع myisam بود ولی از بخش operation نوع جدول رو به InnoDB تبدیل کردم.

pejman_view
پنج شنبه 05 تیر 1393, 02:57 صبح
سلام

جای ترس ندارد، این رفتار بسیار عادی است چون کوئری ها در دیتابیس innodb قابلیت برگشت دارد. بخاطر همین عدد تقریبی به شما داده می شود فرضاً شما 10 هزار row را پاک کردید و بصورت Transaction کار کردی. تا زمانی که تایید را نزنی برای دیتابیس innodb کار تمام شده حساب نمی شود اما این 10 هزار row در این فاصله پاک شده محسوب می شود. حال چه تایید شود و چه تایید نشود بعد از اینکه تایید شد کامل پاک می شود و اگر تایید هم نشد باز دیتابیس به حالت اول باز خواهد گشت.

علامت ~ ، علامت تقریب است. یعنی تقریباً اینقدر است.

MMSHFE
پنج شنبه 05 تیر 1393, 11:55 صبح
ضمناً توصیه میکنم بجای phpmyadmin از chive استفاده کنید.

i-php-i
پنج شنبه 05 تیر 1393, 12:01 عصر
من تراکنشی نکردم و فقط از طریق phpmyadmin اطلاعات این جدول رو نگاه کردم و سایت روی لوکال هیچ بازدیدی نداره، در این حالت نباید اطلاعات جدول درست نمایش داده بشه؟ لطفا نظرتون در مورد جدولی که توی این تاپیک توضیح دادم رو هم بگید: http://barnamenevis.org/showthread.php?457836

pejman_view
جمعه 06 تیر 1393, 01:20 صبح
من تراکنشی نکردم و فقط از طریق phpmyadmin اطلاعات این جدول رو نگاه کردم و سایت روی لوکال هیچ بازدیدی نداره، در این حالت نباید اطلاعات جدول درست نمایش داده بشه؟ لطفا نظرتون در مورد جدولی که توی این تاپیک توضیح دادم رو هم بگید: http://barnamenevis.org/showthread.php?457836

فرقی نمی کنه وقتی innodb بشه کلاً اینجوری نشان می ده خود دیتابیس هم مطمئن نیست. و به جدول innodb اطمینان کن درسته عدد تقریبی نشان می دهد اما در ecommerce ها بسیار کارآمد است از خیلی از اختلاف ها می کاهد.

با ارزوی موفقیت.

i-php-i
جمعه 06 تیر 1393, 01:55 صبح
انگار باید یه کتاب در مورد بهینه سازی دیتابیس مطالعه کنم، کتاب خوب سراغ ندارید؟

cpuram
جمعه 06 تیر 1393, 08:00 صبح
ضمناً توصیه میکنم بجای phpmyadmin از chive استفاده کنید.

chive ارتباط بین جداول رو نشون نمیده یا من پیدا نمیکنم؟

metal gear solid 4
جمعه 06 تیر 1393, 09:40 صبح
انگار باید یه کتاب در مورد بهینه سازی دیتابیس مطالعه کنم، کتاب خوب سراغ ندارید؟
کتبای O'reilly منابع خوبی هستن. در رابطه با بهینه سازی کتابای خوبی دارن. لینک نمیدم. خودتون بیابید.

i-php-i
جمعه 06 تیر 1393, 15:34 عصر
کتابای O'reilly رایگان هستن یا پولی؟

metal gear solid 4
جمعه 06 تیر 1393, 21:26 عصر
کتابهای O'rielly پولی هستند. متاسفانه برای ما ایرانیا امکان پرداخت هزینه نیست. برای اکثرمون.
اگر شما از این دسته از افراد هستند که نمیتونید این کتاب رو خریداری کنید مسلماً میتونید بین وبسایت هایی که فایل های تورنت رو به اشتراک میگذارن این کتابها رو پیدا کنید.

برای MySQL هم میتونید از HeidiSQL استفاده کنید.

MMSHFE
شنبه 07 تیر 1393, 11:44 صبح
به این سایت هم سر بزنید بد نیست:
http://bookzz.org

i-php-i
شنبه 07 تیر 1393, 14:12 عصر
لینک یه کتاب رو ندارید برام بفرستید؟

MMSHFE
شنبه 07 تیر 1393, 14:31 عصر
توی لینکی که دادم MySQL Optimization رو جستجو کنید.

i-php-i
سه شنبه 17 تیر 1393, 16:39 عصر
من چندتا از کتابهای این سایت رو دانلود کردم ولی همه قدیمی (سال 2004-2005) بودن. کتابهای جدید مربوط به آموزش کامل mysql رو می شه معرفی کنید؟

rezaonline.net
سه شنبه 17 تیر 1393, 19:46 عصر
it-ebooks.info