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

Запазване на данни плюс индексни данни в паметта - InnoDB срещу MyISAM

  • Не MyISAM няма кеш за данни с общо предназначение. Това е документирано в описанието на "key_buffer_size" от официалната документация :This is because MySQL relies on the operating system to perform file system caching for data reads, so you must leave some room for the file system cache.

Съвременните операционни системи, особено Linux, са склонни да имат много интелигентни подсистеми за виртуална памет, които ще поддържат често достъпни файлове в кеша на страниците, така че I/O на диска се поддържа на минимум, когато работният комплект се побира в наличната памет.

  • За да отговоря на втория ви въпрос:никога.

Важно е да не попадате в „оразмеряване на буфера“ и за различните myisam променливи като read_buffer_size, read_rnd_buffer_size, sort_buffer_size, join_buffer_size и т.н., тъй като някои са динамично разпределени, така че по-голямото не винаги означава по-бързо - а понякога дори може да бъде по-бавно - вижте тази публикация на mysqlperformanceblog за много интересен случай.

Ако сте на 5.1 на платформа posix, може да искате да сравните myisam_use_mmap при вашето работно натоварване, би трябвало да помогне на случаите на силно раздори чрез намаляване на количеството извиквания на malloc().




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. pymysql fetchall() резултати като речник?

  2. Как да надстроите MySQL на CentOS

  3. Доктрина 2 добавя ново поле, което автоматично генерира стойности на последователността

  4. Еквивалент на RowID на Oracle в MySQL

  5. Изборът на MySQL изглежда много бавен, но не мога да мисля как да се подобри?