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

Разлика в необходимото време за вмъкване на InnoDB/MyISAM записи

Не е ясно какви настройки за издръжливост сте активирали в MyISAM или Innodb, нито дали използвате едноредови вложки или пакетни вложки и в двата случая.

Ако използвате едноредови вмъквания, не използвате транзакции и имате активирана издръжливост (настройката по подразбиране в InnoDB), тогава е вероятно да видите производителността на InnoDB силно ограничена от изискването всяка транзакция да се запише в трайно съхранение ( диск) след вмъкване на всеки ред.

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

Ако искате прилична производителност при вмъкване, използвайте пакетни вмъквания и/или транзакции, в противен случай просто измервате скоростта на запис, последвана от fsync(), което (на RAID контролер без батерии на ротационен магнитен носител) е само скоростта на въртене на вашия диск.

Така че причината innodb да е толкова последователен е, че измервате скоростта на въртене на вашия диск.

Като казахме, че ако имате натоварен сървър, определено, абсолютно искате да използвате RAID контролер с батерии, тогава можете да постигнете прилична производителност на транзакциите и правилна издръжливост (ако приемем, че захранването не се повреди по-дълго, отколкото батерията издържа, и сървърът не експлодира и т.н.).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Групиране на MySQL datetime в интервали, независимо от часовата зона

  2. Изберете част от MySQL Blob поле

  3. Грешка в MySQL при задаване на стойност по подразбиране за DATE или DATETIME

  4. Заявката за изтриване не работи в mysql

  5. MYSQL - брой редове във всяка таблица