La cache di query MySQL è abilitata ma non viene utilizzata

Ho verificato che la cache della query è abilitata

mysql> SHOW VARIABLES LIKE 'have_query_cache'; +------------------+-------+ | Variable_name | Value | +------------------+-------+ | have_query_cache | YES | +------------------+-------+ 1 row in set (0.00 sec) 

Ma sembra che non sia usata

  • rimuovere completamente il mysql-server da Ubuntu
  • Impostazioni ottimali per il server web apache / php con server database separato mysql
  • Come conoscere il motore di archiviazione utilizzato da un database?
  • MySQL configurato per SSL, ma SSL è ancora disabilitato ..!
  • MySQL, c'è un modo per sapere quando è stato il database ultimo cambiato / modificato?
  • MySQL Slow Writes
  •  mysql> SHOW STATUS LIKE 'Qcache%'; +-------------------------+----------+ | Variable_name | Value | +-------------------------+----------+ | Qcache_free_blocks | 1 | | Qcache_free_memory | 16759648 | | Qcache_hits | 0 | | Qcache_inserts | 0 | | Qcache_lowmem_prunes | 0 | | Qcache_not_cached | 21555882 | | Qcache_queries_in_cache | 0 | | Qcache_total_blocks | 1 | +-------------------------+----------+ 8 rows in set (0.00 sec) 

    Qualche ragione?

  • La "frammentazione" misteriosa richiede rifiuti dal gateway VM
  • semplice questione di routing / routing
  • incollaggio del conducente rotto su centos6?
  • Come faccio a forzare tutti i dispositivi in ​​una networking per registrarsi con IT prima di connettere, senza la vulnerabilità a IP statica o spoofing MAC?
  • è questo un tentativo di hack?
  • autossh non uccide ssh quando il link è giù
  • 4 Solutions collect form web for “La cache di query MySQL è abilitata ma non viene utilizzata”

    La variabile di sistema query_cache_type deve essere impostata su non zero, perché la presenza della cache non significa che possa essere utilizzata.

    Tieni anche presente che non tutte le query sono cacheabili.

    Ad esempio, se una query contiene la function NOW (), non sarebbe memorizzata nella cache. La descrizione dettagliata delle query non può essere memorizzata nella cache: https://dev.mysql.com/doc/refman/5.7/en/query-cache-operation.html

    Dovresti anche verificare in quale posizione hai scritto le impostazioni nel file di configuration.

    Il mio problema era che ho posizionato le impostazioni qchace alla fine del file. Anche se le impostazioni sono state riflesse eseguendo mysql> SHOW STATUS LIKE 'Qcache%'; nessuna query è stata effettivamente memorizzata nella cache.

    Dopo aver posizionato le impostazioni in una posizione diversa nel file e riavviando il server mysql stava lavorando.

    Qui puoi vedere la mia configuration per MySQL 5.6:

     [mysqld] bind-address=* #skip-networking # # Remove leading # and set to the amount of RAM for the most importnt data # cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%. innodb_buffer_pool_size = 128M # # Remove leading # to turn on a very importnt data integrity option: logging # changes to the binary log between backups. # log_bin # # Remove leading # to set options mainly useful for reporting servers. # The server defaults are faster for transactions and fast SELECTs. # Adjust sizes as needed, experiment to find the optimal values. # join_buffer_size = 128M # sort_buffer_size = 2M # read_rnd_buffer_size = 2M datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock query_cache_type = 1 query_cache_size =256M thread_concurrency=2 sort_buffer_size=25M key_buffer=128M # Disabling symbolic-links is recommended to prevent assorted security risks symbolic-links=0 # Recommended in standard MySQL setup sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid 

    C'è un errore MySQL 5.6 , fissato in 5.6.9: " if the db name (or table name) has a '-' (minus), it does not work ", solo in InnoDB.

    Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.