zoukankan      html  css  js  c++  java
  • mysql优化

    max_connections MySQL所允许的的同时会话数 Error: Too many connections
    max_connect_errors 最大错误(连接类)允许数,会引发FLUSH HOSTS重启服务
    key_buffer_size 关键词缓冲区大小,缓存MyISAM索引块,决定索引处理速度,读取索引处理速度
    max_allowed_packet 设置最大包,限制server结束数据块大小,避免超长SQL执行,Error: 信息包过大 关闭连接。 如果客户端遇到丢失与MySQL连接的报错,检查这个选项。
    thread_cache_size 服务器线程缓存
    thread_concurrency 默认为CPU核数X2,设置错误的话影响MySQL利用多核处理器性能
    sort_buffer_size 每个连接需要使用buffer时分配的内存大小,不是越大越好。例:1000个连接,一个1MB,会占用1GB内存,200WX1MB=20GB
    join_buffer_size join表使用的缓存大小,一般默认,不重设
    query_cache_size 查询缓存大小,再查询时返回缓存,缓存期间表必须没有被更改,否则缓存失效,多写入操作的话设置大了会影响写入效率
    read_buffer_size MyISAM引擎下全表扫描的缓冲大小。如果无法添加索引时还要全表扫描,增大这个值进行优化
    read_rnd_buffer_size 从排序好的数据中读取行时,行数据从缓冲区读取的大小,会提升order by性能 注意:MySQL会为每个客户端申请这个缓冲区,并发过大时,设置过大影响内存开销
    myisam_sort_buffer_size MyISAM表发生变化时,重新排序所需的缓存
    innodb_buffer_pool_size InnoDB 使用缓存保存索引,保存原始数据的缓存大小,可以有效减少读取数据所需的磁盘IO
    innodb_log_file_size 数据日志文件大小,大的值可以提高性能,但增加了恢复故障数据库的时间(恢复故障数据库时需要读取数据日志文件,当日志过大会导致时间过长)
    innodb_log_buffer_size日志文件缓存,增大该文件可以提高性能,但增大了忽然宕机后损失数据的风险(日志文件在缓存中,还没来得及存进硬盘就断电了)
    innodb_flush_log_at_trx_commit 执行事务的时候,会往InnoDB存储引擎的日志缓存插入事务日志,写数据前先写日志(预写日志方式)设置为0,实时写入;当设置为1时,缓存实时写入磁盘;2时,缓存实时写入文件,每秒文件实时写入磁盘
    innodb_lock_wait_timeout 被回滚前(当一个事务被撤销时),一个InnoDB事务,应该等待一个锁被批准多久,当InnoDB无法检测死锁时,这个值就有用了
    总结:buffur_size大了,可以提高性能,但是占用相应的内存。

     

     

     

  • 相关阅读:
    ORACLE 循环
    C#生成指定数目的互不相同的随机数(转)
    Oracle自治事务的介绍
    螺旋矩阵--我的实现方法
    一个体育生的编程之路(一)
    判断十二星座——我的算法,大家看是不是比较简便
    简单的排序算法——插入排序,选择排序,交换排序(冒泡排序,快速排序)
    使用VC和DirectShow从摄像头中读取图像(一)
    1999那个追着打我的女生
    我自己写的几个C++常用方法
  • 原文地址:https://www.cnblogs.com/yulu612/p/7290999.html
Copyright © 2011-2022 走看看