mysql缓存


myql优化,启动mysql缓存机制,实现命中率100%

配置你的mysql配置文件:主要是配置[mysqld]后面的内容。

1,优化远程连接速度。


在[mysqld]下面添加skip-name-resolve

skip-name-resolve

选项就能禁用DNS解析,连接速度会快很多。不过,这样的话就不能在MySQL的授权表中使用主机名了而只能用

ip格式。

2,设置连接数,mysql默认的连接数是100,太少了。


[mysqld]下面添加

max_connections=512

3,开启缓存机制

skip-locking#取消文件系统的外部锁

key_buffer = 512M#索引缓存,根据内存大小而定,如果是独立的db服务器,可以设置高达80%的内存总量

#连接排队列表总数

back_log = 200

max_allowed_packet = 2M

#打开表缓存总数,可以避免频繁的打开数据表产生的开销

table_cache = 512

#每个线程排序所需的缓冲

sort_buffer_size = 4M

#MyISAM表发生变化时重新排序所需的缓冲

myisam_sort_buffer_size = 64M

#缓存可重用的线程数

thread_cache = 128

#查询结果缓存

query_cache_size = 128M

#设置超时时间,能避免长连接

wait_timeout=60

#最大并发线程数,cpu数量*2

thread_concurrency = 4

#记录慢查询,然后对慢查询一一优化

log_output=FILE # also can be FILE,TABLE or TABLE or NONE

slow-query-log=1

slow_query_log_file=log-slow-queries.log

long_query_time = 1


查询缓存在默认情况下是禁用的。
将 query_cache_size = 32M 添加到 /etc/my.conf 中可以启用 32MB 的查询缓存。