Задавайте вопросы, мы ответим
Вы не зашли.
Имеется запрос:
SELECT COUNT(*) FROM torrents WHERE разные условия
Выполняется слишком долго. В пики нагрузки время выполнения достигает до 1 секунды, что очень не приемлемо.
Таблица имеет 15500 записей размером в 35Мб.
конфиг мускуля:
[mysqld] log-slow-queries = /var/log/mysql_slow_query.log long_query_time=3 datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Default to using old password format for compatibility with mysql 3.x # clients (those using the mysqlclient10 compatibility package). old_passwords=1 # To allow mysqld to connect to a MySQL Cluster management daemon, uncomment # these lines and adjust the connectstring as needed. #ndbcluster #ndb-connectstring="nodeid=4;host=localhost:1186" thread_cache_size = 50 max_connections = 300 key_buffer_size = 500M key_cache_division_limit = 50 table_cache = 1024 max_allowed_packet = 300M query_cache_size = 32M skip-innodb skip-bdb query_cache_limit = 2M tmp_table_size = 32M max_heap_table_size = 32M sort_buffer_size = 128M myisam_sort_buffer_size = 128M [mysqld_safe] log-error=/var/log/mysqld.log pid-file=/var/run/mysqld/mysqld.pid [ndbd] # If you are running a MySQL Cluster storage daemon (ndbd) on this machine, # adjust its connection to the management daemon here. # Note: ndbd init script requires this to include nodeid! connect-string="nodeid=2;host=localhost:1186" [ndb_mgm] # connection string for MySQL Cluster management tool connect-string="host=localhost:1186"
Есть способы убыстрить SELECT COUNT(*) кроме кэширования всего подряд?
Неактивен
Можно попробовать использовать разные индексы.
Неактивен