Mysql
 sql >> база данни >  >> RDS >> Mysql

Трябва ли да използвам MyISAM или InnoDB таблици за моята MySQL база данни?

Винаги използвайте InnoDB по подразбиране.

В MySQL 5.1 по-късно трябва да използвате InnoDB. В MySQL 5.1 трябва да активирате приставката InnoDB . В MySQL 5.5 плъгинът InnoDB е активиран по подразбиране, така че просто го използвайте.

Съветът преди години беше, че MyISAM е по-бърз в много сценарии. Но това вече не е вярно, ако използвате текуща версия на MySQL.

Може да има някои екзотични ъглови случаи, при които MyISAM се представя незначително по-добре за определени работни натоварвания (например сканиране на таблици или работа само с голям обем INSERT), но изборът по подразбиране трябва да бъде InnoDB, освен ако не можете да докажете имате случай, че MyISAM се справя по-добре.

Предимствата на InnoDB освен поддръжката за транзакции и външни ключове, която обикновено се споменава, включват:

  • InnoDB е по-устойчив на повреда на таблицата от MyISAM.
  • Заключване на ниво ред. В MyISAM читателите блокират писатели и обратно.
  • Поддръжка за голям буферен пул както за данни, така и за индекси. MyISAM ключов буфер е само за индекси.
  • MyISAM е в застой; цялото бъдещо развитие ще бъде в InnoDB.

Вижте също моя отговор на MyISAM срещу InnoDB



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Актуализирайте множество редове с известни ключове, без да вмъквате нови редове, ако бъдат открити несъществуващи ключове

  2. mysql - създаване на механизъм, подобен на последователностите на Oracle

  3. Използване на strtotime за дати преди 1970 г

  4. Как WooCommerce купоните се съхраняват в базата данни?

  5. Синтаксис на SQL CREATE DATABASE – Изброен от СУБД