0 امتیاز
قبل در برنامه نویسی توسط (922 امتیاز)

برای ایجاد کردن جدول در MySQL چه فرقی بین MyISAM و InnoDB وجود دارد؟

2 پاسخ

+2 امتیاز
قبل توسط (1.9هزار امتیاز)
انتخاب شده قبل توسط
 
بهترین پاسخ
  • MYISAM :

این Engine در هنگام اعمال و انجام کار قفل میشه تا زمانی که تمام شه که برای ما بده همچین عمل کردی من می خوام یک رکورذ رو تغییر بدم چرا کل جدول فقل میشه ؟! و این میشه کاهش Performance و پیش فرض بود تاقبل نسخه ای 5.5 اگر اشتباه نکنم و اینکه از کلید های foreign و اینکه  transactions ها هم پشتبانی نمی کنه، بیشتر برنامه نویسا به دلیل پیش فرض بودن باش کار می کردن نه اینکه برتر باشه از بقیه Engineهای موجود .

  • InnoDB :

تمام امکانات و قابلتهای MySAM رو داره و مشکلات که در بالا ذکر کردم رو بر طرف کرده وقتی با هر تعداد کار داره چه جدول چه ستون چه سطر ، سطر به سطر می خونه که این میشه که مشکل بالاحل میشه ولی سرعت آن کمتره MYISAM می باشد و اینکه کاملا سازگار با relational database می باشد .

 

  • این گغته ها از نظر تئوری درست است و عملی ولی 1 نکته هست که تجربه ثابت کرده MYISAM کلید های جداول رو خودش Handle و یا همون مدیریت می کنه 
قبل توسط (922 امتیاز)
برای من سرعت ذخیره سازی اطلاعات مهمه. به نظر شما بهتر از کدوم استفاده کنم؟
قبل توسط (1.9هزار امتیاز)
+1
مطمئنا InnoDB استفاده کنید در ذخیره سازی سرعت بسیار بالاتری دارد و می توانید در حین انجام یک Query، تعداد دیگری را هم به همان Table ارسال و انجام دهید همزمان در MYISAM اینگونه نیست
+1 امتیاز
قبل توسط (445 امتیاز)

                                                                   My ISAM      InnoDB
Required full text Search                                     Yes         5.6+
Require Transactions                                                         Yes
frequent select queries                                        Yes     
frequent insert,update,delete                                             Yes
Row Locking (multi processing on single table)                    Yes
Relational base design                                                      Yes

 

این یه سری تفاوتاشون هستش

 ولی در صورت کلی myisam موتور پیشفرض هستش وبیشتر تو خروجی ها استفاده میشه

ولی innodb قدرتمندتر هستش و بیشتر برای تبادل اطلاعات استفاده میشه

اینا هم قابلیت های کلی هستش و فارسی نوشتنشون تقریبا بی مفهوم هستش

 

MYISAM:

    MYISAM supports Table-level Locking
    MyISAM designed for need of speed
    MyISAM does not support foreign keys hence we call MySQL with MYISAM is DBMS
    MyISAM stores its tables, data and indexes in diskspace using separate three different files. (tablename.FRM, tablename.MYD, tablename.MYI)
    MYISAM not supports transaction. You cannot commit and rollback with MYISAM. Once you issue a command it’s done.
    MYISAM supports fulltext search
    You can use MyISAM, if the table is more static with lots of select and less update and delete.

INNODB:

    InnoDB supports Row-level Locking
    InnoDB designed for maximum performance when processing high volume of data
    InnoDB support foreign keys hence we call MySQL with InnoDB is RDBMS
    InnoDB stores its tables and indexes in a tablespace
    InnoDB supports transaction. You can commit and rollback with InnoDB

قبل توسط (922 امتیاز)
برای من سرعت ذخیره سازی اطلاعات مهمه. به نظر شما بهتر از کدوم استفاده کنم؟
قبل توسط (445 امتیاز)
تفاوت در سرعت زیاد محسوس نیست اما innodb رو بیشتر توصیه میکنم تا myisam

سوالات مشابه

0 امتیاز
1 پاسخ 1.1هزار بازدید
0 امتیاز
1 پاسخ 424 بازدید
+1 امتیاز
1 پاسخ 377 بازدید
0 امتیاز
1 پاسخ 1.4هزار بازدید
0 امتیاز
0 پاسخ 4.7هزار بازدید
سوال شده 10 سال قبل در برنامه نویسی توسط IMANAZADI (72 امتیاز)
+1 امتیاز
1 پاسخ 1.3هزار بازدید
0 امتیاز
2 پاسخ 1.5هزار بازدید
+1 امتیاز
1 پاسخ 953 بازدید
0 امتیاز
0 پاسخ 842 بازدید
...