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

Как да разбера дали индексът на mysql се вписва изцяло в паметта

Зависи от Storage Engine

MyISAM (кешира индексни страници от .MYI файлове)

SELECT FLOOR(SUM(index_length)/POWER(1024,2)) IndexSizesMB
FROM information_schema.tables WHERE engine='MyISAM' AND
table_schema NOT IN ('information_schema','performance_schema','mysql');

Извадете това от key_buffer_size . Ако отговорът> 0, тогава Да

InnoDB (кеширане на данни и индексни страници)

SELECT FLOOR(SUM(data_length+index_length)/POWER(1024,2)) InnoDBSizeMB
FROM information_schema.tables WHERE engine='InnoDB';

Извадете това от innodb_buffer_pool_size . Ако отговорът> 0, тогава Да

Писах за това в DBA StackExchange

На специален DB сървър се уверете, че InnoDBSizeMB+IndexSizesMB не надвишава 75% от RAM.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. JDBC Създаване на таблица Пример за използване

  2. Грешка:mysqlnd не може да се свърже с MySQL 4.1+, използвайки старата несигурна автентификация

  3. MySQL:Достъпът е отказан за потребител 'test'@'localhost' (използвайки парола:ДА) с изключение на root потребител

  4. Неизвестна колона '' в 'списък с полета'. Джанго

  5. php/mysql. Има ли mysql функция, която да открие дали съществуват поне 2 определени думи в поне едно поле-ред на mysql