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

Намалете MySQL заявките до една заявка, за да ускорите

Вижте дали в момента улавям трафик с Общия регистър:

SELECT @@general_log;   -- 1 if capturing, 0 if not
-- for me, a 1. This means I have been capturing (good for development. Poor idea for Production)

SELECT @@general_log_file; -- file name for General Log if capturing.
-- for me: GeneralLogBegin_20160803_1420.log

SELECT @@datadir; -- the location of the general_log, and other logs
-- for me: C:\ProgramData\MySQL\MySQL Server 5.6\Data\

Сега изключвам заснемането на общия дневник по-долу, защото моят заснемаше:

SET GLOBAL general_log=0; -- stop logging

ПРЕМЕСТВАМ регистрационния си файл в резервна директория, преименувайки го на GL_from_20160803_1420_to_20160806_1559

Има малка неяснота по отношение на съдържанието и диапазона от дати и часове на заснемане, които горният файл въплъщава.

Задайте новото име за заснемането на регистрационния файл (начален сегмент за име на файл)

SET GLOBAL general_log_file='GeneralLogBegin_20160806_1559.log';
SET GLOBAL general_log=1; -- Start logging again

Стартирайте мое приложение, което се свързва със сървъра, и Общият дневник съдържа:

ChunkA:

160806 16:08:37   170 Connect   [email protected] on stackoverflow
          170 Query SHOW VARIABLES
          170 Query SELECT TIMEDIFF(NOW(), UTC_TIMESTAMP())
          170 Query SHOW COLLATION
          170 Query SET NAMES latin1
          170 Query SET character_set_results=NULL
          170 Init DB   my_db_name

Забележка:може да се наложи да направите

mysqladmin -u root -p flush-log

(с подкана за парола), за да изтриете регистрационните файлове от кеша във файла. Между другото, Sublime Text е страхотен за автоматично опресняване на текущо зареден текстов файл. Като например лог файл.

Така че моят ChunkA по-горе е конецът на връзката на идваща нова връзка. Той се управлява от командите на използваната програма, каквато и да е тя. Това е преди вашите програмни команди, с които сте свикнали и кодирате. Ако непрекъснато създавате нови връзки, изпълнявате код, който пишете, и прекъсвате връзката, всичко това е част от багажа. Вие не контролирате оптимизирането им по някакъв прост начин.

Това, което трябва да обмислите да направите, е да ИЗКЛЮЧИТЕ регистъра на общите заявки в производствена среда. И само активирането му по време на настройките на средата за отстраняване на грешки и тестване. Включването му увеличава ненужното бреме върху стека ви.



  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 база данни с помощта на C++

  2. Mysql Complex Where Клауза

  3. IBM Worklight - Как да извадя параметър OUT при извикване на съхранена процедура?

  4. Как да коригирате Съобщение:SQLSTATE[08004] [1040] Твърде много връзки

  5. Проектиране на база данни:Кой е по-добрият подход?