位置: 编程技术 - 正文

mysql优化的重要参数 key_buffer_size table_cache(mysql优化sql有哪些)

编辑:rootadmin

推荐整理分享mysql优化的重要参数 key_buffer_size table_cache(mysql优化sql有哪些),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql的优化方案,mysql优化是什么,mysql的优化方案,mysql优化常用的几种方法,mysql优化有哪些,mysql优化有哪些,mysql优化常用的几种方法,mysql优化常用的几种方法,内容如对您有帮助,希望把文章链接给更多的朋友!

MySQL服务器端的参数有很多,但是对于大多数初学者来说,众多的参数往往使得我们不知所措,但是哪些参数是需要我们调整的,哪些对服务器的性能影响最大呢?对于使用Myisam存储引擎来说,主要有key_buffer_size和table_cache两个参数。对于InnoDB引擎来说主要还是以innodb_开始的参数,也很好辨认。

查看MySQL参数,可以使用show variables和show status命令查看,前者查看服务器静态参数,即在数据库启动后不会动态更改的值,比如缓冲区、字符集等。后者查看服务器的动态运行状态信息,即数据库运行期间动态变化的信息,比如锁,当前连接数等。

key_buffer_size这个参数是用来设置索引块(index blocks)缓存的大小,它被所有线程共享,严格说是它决定了数据库索引处理的速度,尤其是索引读的速度。那我们怎么才能知道key_buffer_size的设置是否合理呢,一般可以检查状态值Key_read_requests和Key_reads,比例key_reads / key_read_requests应该尽可能的低,比如1:,1: ,1:。其值可以用以i下命令查得:

mysql> show status like 'key_read%';+-------------------+------------+| Variable_name | Value |+-------------------+------------+| Key_read_requests | | | Key_reads | | +-------------------+------------+2 rows in set (0. sec)

//=&#;M //单位为兆

我的key_buffer_size值为:

mysql优化的重要参数 key_buffer_size table_cache(mysql优化sql有哪些)

key_buffer_size=//=M,

key_reads / key_read_requests=: ≈1:,照上面来看,健康状况还行。

table_cache指定表高速缓存的大小。每当MySQL访问一个表时,如果在表缓冲区中还有空间,该表就被打开并放入其中,这样可以更快地访问表内容。通过检查峰值时间的状态值Open_tables和Opened_tables,可以决定是否需要增加table_cache的值。如果你发现open_tables等于table_cache,并且opened_tables在不断增长,那么你就需要增加table_cache的值了(上述状态值可以使用SHOW STATUS LIKE ‘Open%tables'获得)。注意,不能盲目地把table_cache设置成很大的值。如果设置得太高,可能会造成文件描述符不足,从而造成性能不稳定或者连接失败。

open_tables表示当前打开的表缓存数,如果执行flush tables操作,则此系统会关闭一些当前没有使用的表缓存而使得此状态值减小;

opend_tables表示曾经打开的表缓存数,会一直进行累加,如果执行flush tables操作,值不会减小。

在mysql默认安装情况下,table_cache的值在2G内存以下的机器中的值默认时到,如果机器有4G内存,则默认这个值是,但这决意味着机器内存越大,这个值应该越大,因为table_cache加大后,使得mysql对SQL响应的速度更快了,不可避免的会产生更多的死锁(dead lock),这样反而使得数据库整个一套操作慢了下来,严重影响性能。所以平时维护中还是要根据库的实际情况去作出判断,找到最适合你维护的库的table_cache值。

就是table_cache加大后碰到文件描述符不够用的问题,在mysql的配置文件中有这么一段提示:引用“The number of open tables for all threads. Increasing this value increases the number of file descriptors that mysqld requires.Therefore you have to make sure to set the amount of open files allowed to at least in the variable "open-files-limit" in” section [mysqld_safe]”说的就是要注意这个问题,一想到这里,部分兄弟可能会用ulimit -n 作出调整,但是这个调整实际是不对的,换个终端后,这个值又会回到原始值,所以最好用sysctl或者修改/etc/sysctl.conf文件,同时还要在配置文件中把open_files_limit这个参数增大,对于4G内存服务器,相信现在购买的服务器都差不多用4G的了,那这个这个open_files_limit至少要增大到,如果没有什么特殊情况,设置成就可以了。

innodb_buffer_pool_size 这个参数和MyISAM的key_buffer_size有相似之处,但也是有差别的。这个参数主要缓存innodb表的索引,数据,插入数据时的缓冲。为Innodb加速优化首要参数。  该参数分配内存的原则:这个参数默认分配只有8M,可以说是非常小的一个值。如果是一个专用DB服务器,那么他可以占到内存的%-%。这个参数不能动态更改,所以分配需多考虑。分配过大,会使Swap占用过多,致使Mysql的查询特慢。如果你的数据比较小,那么可分配是你的数据大小+%左右做为这个参数的值。

mysql主键的缺少导致备库hang住 最近线上频繁的出现slave延时的情况,经排查发现为用户在删除数据的时候,由于表主键的主键的缺少,同时删除条件没有索引,或或者删除的条件过滤

mysql同步问题之Slave延迟很大优化方法 一般而言,slave相对master延迟较大,其根本原因就是slave上的复制线程没办法真正做到并发。简单说,在master上是并发模式(以InnoDB引擎为主)完成事务提

MySQL-tpch 测试工具简要手册 tpch是TPC(TransactionProcessingPerformanceCouncil)组织提供的工具包。用于进行OLAP测试,以评估商业分析中决策支持系统(DSS)的性能。它包含了一整套面向商业

标签: mysql优化sql有哪些

本文链接地址:https://www.jiuchutong.com/biancheng/347534.html 转载请保留说明!

上一篇:MYSQL分页limit速度太慢的优化方法(mysql 高效分页)

下一篇:mysql主键的缺少导致备库hang住(mysql主键冲突但数据不存在)

  • 房产契税是怎样计算的
  • 报税显示缺少组件怎么办
  • 税收契子怎么算
  • 怎么理解财务会计与管理会计
  • 公司交房租没有开票能记账?
  • 分公司分开银行账户付款的好处
  • 建筑公司成本发票不够
  • 公司亏损多久可以申请解散
  • 本年利润怎样结转未分配利润
  • 工程节点奖金
  • 工程报废及毁损如何做会计处理合适呢?
  • 应付账款以前年度挂错
  • 差额事业单位发放科研奖励记账
  • 现金折扣税前扣除
  • 代增值税专用发票网上申请
  • 现金收款能开专用发票吗
  • 小规模纳税人亏损交所得税吗
  • 图书免税政策依据
  • 虚假享受税收优惠政策
  • 货物收到钱已付 发票未收到怎么做账
  • 贸易公司收到货款会计分录
  • 增值税发票抵扣联
  • 进项票也要缴纳印花税吗
  • 人工工资应该计什么科目
  • 办公室装修计入什么科目里
  • 小型微利企业的企业所得税优惠政策
  • php字符串定义的三种方式
  • 东洛锡安的金黄麦田,苏格兰 (© Scott Masterton/plainpicture)
  • webpack插件执行顺序
  • php中定义函数
  • 云E办接口文档
  • 年应税额是怎么算的
  • 增值税发票开票系统数据与实际报税数不一致的原因?
  • 其他应收款包括应收利息吗
  • 图书免增值税具体包括哪些
  • 专票作废扣税吗
  • 原材料卖出去会计分录
  • 进项税大于销项税怎么交税
  • 投资性房地产如何折旧
  • 通行费发票如何勾选
  • Postgre数据库Insert 、Query性能优化详解
  • 法院强制执行根本没用
  • 应扣未扣税款对纳税人的处理
  • 收到销项负数发票怎么做分录
  • 中标违约保证金怎么退
  • 销售公司中的服务是什么
  • 人力资源差额税率
  • 利润都为负数时增长比例怎么算
  • 公司购买理财产品账务处理
  • 会计做账的凭据怎么写
  • 停薪留职社保怎么算
  • 公司坏账率一般多少
  • mysql 1449解决
  • mysql内存占用一直增高不释放
  • sql2008没有数据库
  • sqlserver中时间类型
  • xp系统任务栏太小怎么办
  • debian系统如何安装软件
  • windows7录音怎么录
  • windows打开或关闭功能
  • win8补丁官网
  • 修改注册表优化Win10
  • win7无法删除d盘
  • win7系统无线网络
  • root忘记密码了怎么办
  • document.location.hash
  • javascript数据结构与算法
  • Android OnTouchEvent, onClick, onLongClick调用机制
  • css中文手册
  • 对js关键字命名的优点
  • 浏览器url怎么看
  • unitysdk接入
  • unity加密代码
  • python pil gif
  • 二级联动什么意思
  • python html转markdown
  • 北京税务局地税电话
  • 出口退税账户标识是否怎么选
  • 南京市高新园区
  • 土地分割抵押 如何实现抵押权
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设