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

SQL SERVER – SQL_NO_CACHE и ОПЦИЯ (ПРЕКОМПИЛИРАНЕ)

Като разработчик и администратор на база данни, който често е предпочитал технологията, но ако управляваме голяма организация, трябва да бъдем по-приемливи към всички технологии. Един от моите големи банкови клиенти използва множество бази данни за извършване на различни транзакции. Те също така използват много различни решения за кеширане за своя бизнес, както и най-високия хардуер. Имах много интересен разговор с моя клиент на тема как да извличам заявки, а не от кеша за MySQL и SQL Server, обсъдихме SQL_NO_CACHE и OPTION (RECOMPILE). Обсъдихме по време на Изчерпателната проверка на ефективността на базата данни .

Нека видим днес два различни примера за MySQL и SQL Server. И двете релационни бази данни използват предимствата на кеша на паметта, за да ни върнат данните. Нека видим как можем да напишем заявка, при която няма да използваме кешираните резултати, а директно да получаваме данните си от диска на SQL Server, а не от кеша.

Заявка за SQL сървър – ОПЦИЯ (ПРЕКОМПИЛИРАНЕ)

SELECT Columnname
FROM TableName
OPTION(RECOMPILE)

MySQL заявка SQL_NO_CACHE

SELECT SQL_NO_CACHE Columnname
FROM TableName
OPTION(RECOMPILE)

Когато използвате SQL_NO_CACHE и OPTION (RECOMPILE), релационните бази данни (съответно MySQL и SQL Server) извличат директно данните от диска, а не това, което се съхранява в кеша.

Ето няколко подходящи публикации в блога на същата тема, които може да ви бъдат интересни.

  • SQL SERVER – план за заявка за списък, размер на кеша, текст и брой изпълнения
  • SQL SERVER – Намиране на най-стария план за заявка от кеша
  • SQL SERVER – Планирайте кеш и кеш на данни в памет
  • SQL SERVER – Съхранена процедура – ​​Почистване на кеша и почистване на буфера
  • SQL SERVER – Премахнете всички кеширани планове на заявка, които не се използват в определен период
  • SQL SERVER – Скрипт за получаване на компилиран план с параметри от кеша
  • SQL SERVER – Планов кеш – Извличане и премахване – Прост скрипт
  • SQL SERVER – 2017 – Скрипт за изчистване на кеша на процедурите на ниво база данни

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да активирате SSL/TLS за MySQL в Ubuntu

  2. Конфигурация на MySQL 8

  3. ГРЕШКА 1396 (HY000):Операцията CREATE USER неуспешна за 'jack'@'localhost'

  4. Тип MySQL ENUM спрямо таблици за присъединяване

  5. MICROSECOND() Пример – MySQL