• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase
您的位置:首页 > 数据库 >Mysql > MySQL性能优化之table_cache配置参数浅析

MySQL性能优化之table_cache配置参数浅析

作者:忙碌的松鼠 字体:[增加 减小] 来源:互联网 时间:2017-05-11

忙碌的松鼠通过本文主要向大家介绍了mysql table cache,mysql query cache,mysql sql no cache,mysql cache,pdo mysql.cache size等相关知识,希望本文的分享对您有所帮助

table_cache是一个非常重要的MySQL性能参数,它在5.1.3之后的版本中叫做table_open_cache。table_cache主要用于设置table高速缓存的数量。由于每个客户端连接都会至少访问一个表,因此此参数的值与max_connections有关。

缓存机制

当某一连接访问一个表时,MySQL会检查当前已缓存表的数量。如果该表已经在缓存中打开,则会直接访问缓存中的表已加快查询速度;如果该表未被缓存,则会将当前的表添加进缓存并进行查询。

在执行缓存操作之前,table_cache用于限制缓存表的最大数目:如果当前已经缓存的表未达到table_cache,则会将新表添加进来;若已经达到此值,MySQL将根据缓存表的最后查询时间、查询率等规则释放之前的缓存。

参数调优

一般来说,可以在phpmyadmin中查看Open_tables与Opened_tables的值,也可以执行

查看当前的open_tables情况,如图:

来查看这两个参数的值。其中Open_tables是当前正在打开表的数量,Opened_tables是所有已经打开表的数量。

如果Open_tables的值已经接近table_cache的值,且Opened_tables还在不断变大,则说明mysql正在将缓存的表释放以容纳新的表,此时可能需要加大table_cache的值。对于大多数情况,

比较适合的值:
Open_tables / Opened_tables >= 0.85
Open_tables / table_cache <= 0.95
</div>
如果对此参数的把握不是很准,VPS管理百科给出一个很保守的设置建议:把MySQL数据库放在生产环境中试运行一段时间,然后把参数的值调整得比Opened_tables的数值大一些,并且保证在比较高负载的极端条件下依然比Opened_tables略大。

清空缓存

执行
命令将会清空当前所有缓存的表。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • Mysql优化调优中两个重要参数table_cache和key_buffer
  • MySQL性能优化之table_cache配置参数浅析

相关文章

  • 2017-05-11mysql中提高Order by语句查询效率的两个思路分析
  • 2017-05-11CMS不要让MySQL为你流泪
  • 2017-05-11mysql 动态生成测试数据
  • 2017-05-11教你如何在windows与linux系统中设置MySQL数据库名、表名大小写敏感
  • 2018-12-05SQL Server下几个危险的扩展存储过程
  • 2017-05-11详解MySQL中WHERE子句的用法
  • 2018-12-05mysql5.7.18在Mac下安装的详细步骤
  • 2018-12-05Mysql的基础使用之MariaDB安装方法详解_MySQL
  • 2018-12-05phpMyAdmin 的介绍
  • 2017-09-08Mysql 数据库给表添加字段

文章分类

  • MsSql
  • Mysql
  • oracle
  • MariaDB
  • DB2
  • SQLite
  • PostgreSQL
  • MongoDB
  • Redis
  • Access
  • 数据库其它
  • sybase
  • HBase

最近更新的内容

    • 逐步分析MySQL从库com_insert无变化的原因
    • MySQL Event Scheduler(事件调度器)
    • 在CentOS上安装phpMyAdmin的教程
    • 教你如何查看MySQL配置文件路径及相关配置
    • 一次非法关机导致mysql数据表损坏的实例解决
    • 使用MySQL的LAST_INSERT_ID来确定各分表的唯一ID值
    • 关于5.0.16的详细介绍
    • Win2008中SqlServer2008 无法打开错误日志文件导致无法启动的解
    • MySQL 存储过程的基本用法介绍
    • mysql 让一个存储过程定时作业的代码

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有