ПредишенСледващото

Mysql оптимизиране заявка кеш - MySQL - блог полезни статии за развитието и популяризирането на сайтове
Запитване Cache кешира резултатите от заявките. Това означава, че кеширана заявка не работи изобщо. Освен това, кеширане изпълнява дори да се направи разбор на самата заявка. Това означава, че заявката трябва да е точно същата, както в кеш паметта, докато байт.

Отговаря за определяне на променливите величини, кеша на системата като се започне с "query_cache_"

Първо, уверете се, че кеширането е активирана. Query_cache_type променлива трябва да бъде настроен на ON (1) или търсене (2) и query_cache_size бъде нула.

Когато "query_cache_type = ON" кешира всички искания, с изключение на тези, които съдържат намек SQL_NO_CACHE и някои изключения.
Когато "query_cache_type = ЗАЯВКА" кеширана само иска, започващ с SELECT SQL_CACHE.

query_cache_min_res_unit минимален размер на разпределените блок памет за съхраняване на кеширани резултатите от заявката. MySQL не съхранява в кеш паметта на едно голямо парче, вместо блокове, определени по поръчка с минимален размер на query_cache_min_res_unit (= 4KB подразбиране). Последният такъв блок, закрепен за размер на данните, както и свободната памет, той е оправдан.
И ако имате много малки заявки в кеш паметта, а след това може да доведе до фрагментация на паметта, поради големия брой на свободните блокове. Това, от своя страна, води до премахването на кешираните вписвания поради липса на памет. В този случай, че има смисъл да се намали стойността на query_cache_min_res_unit. Ако повечето от вашите заявки се получи страхотен резултат, увеличаване на този параметър може да подобри производителността.

За да следите кеш заявка се използва

Запитване Cache не винаги се използва, а не за всички видове запитвания. Ако резултатът от заявката query_cache_limit (= 1MB по подразбиране), надвишава, че няма да бъдат кеширани. MySQL до версия 4.1.1 не поддържа кеш заявка в сделки.

  • Заявки с временни таблици или да не се използва маси;
  • Заявка за генериране на сигнали (предупреждения);
  • Заявка подзаявки, които са външна заявка;
  • Заявки в съхранени процедури и функции;
  • Заявки с SQL_NO_CACHE
  • Приготвени заявки (получен отчети);
  • Заявки, които да се използват функциите:
    Референтна стойност (), CONNECTION_ID (), CONVERT_TZ (), CURDATE (), CURRENT_DATE (), CURRENT_TIME (), CURRENT_TIMESTAMP (), CurTime (), база данни (), криптиране () с един аргумент, FOUND_ROWS (), GET_LOCK () , LAST_INSERT_ID (), LOAD_FILE (), MASTER_POS_WAIT (), NOW (), RAND (), RELEASE_LOCK (), SLEEP (), SYSDATE (), UNIX_TIMESTAMP () без аргументи, USER (), UUID ();
  • Заявки използват съхраняват функции, потребител променливи или връзка към маса в INFORMATION_SCHEMA на системата или основи MySQL;
  • Заявки имат следните форми:
    Изберете ... на дела MODE
    Изберете ... ЗА АКТУАЛИЗАЦИЯ
    Изберете ... В OUTFILE ...
    Изберете ... В DumpFile ...
    SELECT * FROM ... КЪДЕ autoincrement_col е нула
Подкрепете проекта - споделете линка, благодаря!