iis服务器助手广告
返回顶部
首页 > 资讯 > 数据库 >MySQL中table_cache如何优化
  • 523
分享到

MySQL中table_cache如何优化

2024-04-02 19:04:59 523人浏览 泡泡鱼
摘要

这篇文章主要介绍了Mysql中table_cache如何优化,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。table_cache 参数设置表

这篇文章主要介绍了Mysql中table_cache如何优化,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

table_cache 参数设置表高速缓存的数目。每个连接进来,都会至少打开一个表缓存。因此, table_cache 的大小应与 max_connections 的设置有关。例如,对于 200 个并行运行的连接,应该让表的缓存至少有 200 × N ,这里 N 是应用可以执行的查询的一个联接中表的最大数量。此外,还需要为临时表和文件保留一些额外的文件描述符。
mysql 访问一个表时,如果该表在缓存中已经被打开,则可以直接访问缓存;如果还没有被缓存,但是在 Mysql 表缓冲区中还有空间,那么这个表就被打开并放入表缓冲区;如果表缓存满了,则会按照一定的规则将当前未用的表释放,或者临时扩大表缓存来存放,使用表缓存的好处是可以更快速地访问表中的内容。
执行 flush tables 会清空缓存的内容。一般来说,可以通过查看运行峰值时间的状态值 Open_tables 和 Opened_tables ,判断是否需要增加 table_cache 的值。其中 open_tables 是当前打开的表的数量, Opened_tables 则是已经打开的表的数量。下面我们的例子显示了这两个状态值的变化情况:
首先,清空表缓存:
> flush tables;
Query OK, 0 rows affected (0.00 sec)
察看当前的表缓存情况:
mysql> show global status like open%_tables;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Open_tables | 0 |
| Opened_tables | 543 |
+---------------+-------+
2 rows in set (0.00 sec)
在当前连接访问一个表:
mysql> select count(*) from t1;
+----------+
| count(*) |
+----------+
| 4 |
+----------+
1 row in set (0.03 sec)
mysql> show global status like open%_tables;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Open_tables | 1 |
| Opened_tables | 544 |
+---------------+-------+
2 rows in set (0.00 sec)
Open_tables和opened_tables都增加1。
再访问一个其他表,可以看到两个参数都增加。
mysql> select count(*) from t2;
+----------+
| count(*) |
+----------+
| 1 |
+----------+
1 row in set (0.06 sec)
mysql> show global status like open%_tables;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Open_tables | 2 |
| Opened_tables | 545 |
+---------------+-------+
2 rows in set (0.00 sec)
再访问表t1的时候:
mysql> select * from t1;
+------+
| id |
+------+
| 2 |
| 1 |
| 1 |
| 3 |
+------+
4 rows in set (0.02 sec)
mysql> show global status like open%_tables;
+---------------+-------+
| Variable_name | Value |
+---------------+-------+
| Open_tables | 2 |
| Opened_tables | 545 |
+---------------+-------+
2 rows in set (0.00 sec)
两个参数都没有变化,因为该表已经在表缓存中打开了,没有重复打开。
如果发现 open_tables 接近 table_cache 的时候,并且 Opened_tables 这个值在逐步增加,那就说明可能 table_cache 设置的偏小,经常需要将缓存的表清出,将新的表放入缓存,这时可以考虑增加这个参数的大小来改善访问的效率

感谢你能够认真阅读完这篇文章,希望小编分享的“MySQL中table_cache如何优化”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网数据库频道,更多相关知识等着你来学习!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL中table_cache如何优化

本文链接: https://www.lsjlt.com/news/71911.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL中table_cache如何优化
    这篇文章主要介绍了MySQL中table_cache如何优化,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。table_cache 参数设置表...
    99+
    2024-04-02
  • MySQL中table_cache优化的示例分析
    这篇文章主要介绍MySQL中table_cache优化的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!table_cache指定表高速缓存的大小。每当MySQL访问一个表时,...
    99+
    2024-04-02
  • mysql中如何优化innodb
    这篇文章主要介绍了mysql中如何优化innodb,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。innodb_flush_logs_at_t...
    99+
    2024-04-02
  • MySQL中如何优化索引
    MySQL中如何优化索引,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。文章的脑图如下:索引优化规则1、like语句的前导模糊查询不能使用索...
    99+
    2024-04-02
  • Mysql中如何优化select count
    这篇文章主要介绍了Mysql中如何优化select count,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 1.任何情况下SE...
    99+
    2024-04-02
  • mysql如何优化
    本篇文章给大家分享的是有关mysql如何优化,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。mysql如何优化1.使用小的整数类型2.无特殊情况...
    99+
    2024-04-02
  • 如何解析MySQL性能优化中的SQL优化
    如何解析MySQL性能优化中的SQL优化,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。注:以 MySQL 为背景,很多内容同时适用于其他关系型...
    99+
    2024-04-02
  • MySQL中的索引如何优化
    这篇文章主要介绍了MySQL中的索引如何优化的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇MySQL中的索引如何优化文章都会有所收获,下面我们一起来看看吧。使用索引优化索引是数...
    99+
    2023-03-01
    mysql
  • MySQL中如何优化Slave延迟
    这篇文章将为大家详细讲解有关MySQL中如何优化Slave延迟,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 一般而言,slave相对ma...
    99+
    2024-04-02
  • 如何理解MySQL中per_thread_buffers优化
    如何理解MySQL中per_thread_buffers优化,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。 &...
    99+
    2024-04-02
  • MySQL中如何优化orderby语句
    order by 查询语句使用也是非常频繁,有时候数据量大了会发现排序查询很慢,本文就介绍一下 MySQL 是如何进行排序的,以及如何利用其原理来优化 order by 语句。 建立...
    99+
    2023-01-12
    MySQL优化order by 优化order by
  • MySQL中如何做好Limit优化
    小编给大家分享一下MySQL中如何做好Limit优化,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!  建议一:灵活使用Limit...
    99+
    2024-04-02
  • MySQL中join语句如何优化
    今天小编给大家分享一下MySQL中join语句如何优化的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。Simple Neste...
    99+
    2023-07-05
  • 【MySQL】sql如何优化?
    一、优化步骤 (1)通过SQL监控、请求、日志等找出耗时的SQL语句; (2)使用Explain方式查看SQL耗时的具体原因; (3)根据实际情况解决:索引、缓存、左右连接 二、Explain select_type:简单查询or复杂查询?...
    99+
    2023-09-16
    sql mysql 数据库
  • mysql如何优化join
    本篇文章为大家展示了mysql如何优化join,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。 mysql 在join 表的时候相当类型的...
    99+
    2024-04-02
  • 如何优化MySQL表?
    优化 MySQL 表是提高数据库性能和效率的关键一步。通过采用有效的优化技术,您可以提高查询执行速度、降低存储要求并优化资源利用率。本文探讨了优化 MySQL 表的各种策略和最佳实践,使您能够最大限度地提高数据库驱动的应用程序的性能。 在本...
    99+
    2023-10-22
  • MySQL中如何优化查询语句
    今天就跟大家聊聊有关MySQL中如何优化查询语句,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  首先看一下分页的基本原理:  > expla...
    99+
    2024-04-02
  • 如何在mysql中优化LIMIT分页
    这篇文章将为大家详细讲解有关如何在mysql中优化LIMIT分页,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。1、优化方法尽可能的使用覆盖索引扫描,而不是查询所有的列。然后根据需要做一次关联...
    99+
    2023-06-15
  • mysql中索引配置如何优化
    这篇文章将为大家详细讲解有关mysql中索引配置如何优化,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。 2     索引及查询优...
    99+
    2024-04-02
  • MySQL中如何优化order by语句
    order by 查询语句使用也是非常频繁,有时候数据量大了会发现排序查询很慢,本文就介绍一下 mysql 是如何进行排序的,以及如何利用其原理来优化 order by 语句。 建立一张表: CREATE TABLE `...
    99+
    2023-01-12
    MySQL优化orderby 优化orderby
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作