使用phpmyadmin浏览库结构很卡的问题的解决方案

问题描述:由于公司线上服务器和线上是完全分离的,但是有时候线上环境的测试或排错还需要查看线上的数据库,故这里给他们搭建了一个phpmyadmin的跳板机,通过该平台可以连接线上的只读库;但是最近收到同事的反馈,查看表记录的库时候,发现操作很卡,特别是浏览库下的表的时候,而此时线上只读库有一个在select count(*) from tbname的会话,主机IP就是phpmyadmin服务器,到这里就明白了,查看库下的表的时候,phpmyadmin会显示表行数,此操作严重拖累了phpmyadmin的响应,也问了百度和google,但是对于表数据量过多造成的phpmyadmin响应慢都没有太好的解决方案,所以自己摸索了一下,尝试修改一下phpmyadmin的源码,故我这里的解决方案就是修改phpmyadmin的源码,将‘select count(*) from tbname‘的SQL改写。

上面已概述了问题,现在直奔主题,说说如何修改phpmyadmin源码解决这个问题的。

基础环境:

操作系统:Centos 6.5 x64位

phpmyadmin版本:ver 4.4.15.8

MySQL版本: 均为5.6.33

第一步: 既然我们知道是由于表行数统计造成,那么打开Table.class.php(phpmyadmin/libraries/Table.class.php)文件:

查找文件中的函数‘static public function countRecords‘,修改内容大概在581行前后

原SQL如下:

‘SELECT COUNT(*) FROM ‘ . PMA_Util::backquote($db) . ‘.‘
                        . PMA_Util::backquote($table)

由于查询information_schema表的字段都是varchar类型,需要给字段value添加单引号,所以修改后的SQL如下:

‘SELECT TABLE_ROWS FROM information_schema.TABLES where TABLE_SCHEMA = \‘‘ . PMA_Util::backquote($db) .
                     ‘\‘ and TABLE_NAME = \‘‘ . PMA_Util::backquote($table) . ‘\‘‘

第二步: 保存退出,然后重启你的web服务apache或者nginx。

第三步: 登录phpmyadmin,浏览库下的表,直接秒开,完全无卡顿的现象了。

附注: 不过这时在库下看到的表的纪录数,除了多于50W行的表示显示行数的,其余表行数都是0,这时由于libraries/config.default.php中的 $cfg[‘MaxExactCount‘] = 500000参数设置导致,如果一定要显示正确的表行数,可以把该参数设置为50000或者更低即可。

时间: 2024-10-02 11:49:16

使用phpmyadmin浏览库结构很卡的问题的解决方案的相关文章

C/C++框架和库 (真的很强大) 转

http://blog.csdn.net/xiaoxiaoyeyaya/article/details/42541419 值得学习的C语言开源项目 - 1. Webbench Webbench是一个在Linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力.Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行. 下载链接:http://home.tiscali

值得推荐的C/C++框架和库 (真的很强大)

值得学习的C语言开源项目 - 1. Webbench Webbench是一个在Linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力.Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行. 下载链接:http://home.tiscali.cz/~cz210552/webbench.html - 2. Tinyhttpd tinyhttpd是一个超轻量型Ht

(转载)值得推荐的C/C++框架和库 (真的很强大)

原文地址 http://blog.csdn.net/xiaoxiaoyeyaya/article/details/42541419 值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力.Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行. 下载链接:http://home.ti

【转】 值得推荐的C/C++框架和库 (真的很强大)

[转] 值得推荐的C/C++框架和库 (真的很强大) 值得学习的C语言开源项目 - 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使用fork()模拟多个客户端同时访问我们设定的URL,测试网站在压力下工作的性能,最多可以模拟3万个并发连接去测试网站的负载能力.Webbench使用C语言编写, 代码实在太简洁,源码加起来不到600行. 下载链接:http://home.tiscali.cz/~cz210552/webbench.html - 2. T

值得推荐的C/C++框架和库 (真的很强大) c

http://m.blog.csdn.net/mfcing/article/details/49001887 值得推荐的C/C++框架和库 (真的很强大) 发表于2015/10/9 21:13:14  14199人阅读 分类: 开源 本篇文章主要介绍了"值得推荐的C/C++框架和库 (真的很强大)",主要涉及到方面的内容,对于C/C++教程感兴趣的同学可以参考一下: 得学习的C语言开源项目- 1. Webbench Webbench是一个在linux下使用的非常简单的网站压测工具.它使

Myeclipse 工具优化 [内存一直增加, jsp,javascript 编辑很卡]

首先看这篇随笔 地址: Myeclipse/STS 首次在本地部署配置一个Spring MVC 项目 (十二) [http://www.cnblogs.com/editor/p/3915239.html] 这步是每新建个工作空间都应该配置的步骤,这步配置好,把项目源码导进去,空间构建,代码没异常错误,运行编译服务器 (如:Tomcat) 成功后,再做下面的配置; 工具环境优化配置 我们在开发一个差不多大的系统,差不多项目在70.80M以上,也可能是一些小项目,Myeclipse 刚运行的时候,看

xenserver的主机运行很卡故障结局

故障描述: XenServer6.1安装完成后,发现在使用的VPS的过程中,总感觉到很卡,查看ping值非常的正常,也没有出现抽风这一类情况.通过top名称查看后,发现一个问题,就是ovs-vswitchd和ksoft...这两个进程的占用了非常高的CPU.很显然是这两个命令导致整台服务器不稳定.那这两个是什么命令呢?大家往下看. 官方公布: 思杰新的XenServer 6.0版本之后,都有2种网络桥接方式:bridge,openvswitch(新添加),默认安装好的XenServer 6.0以

解决win7和2008连接windows 2003远程桌面很卡的问题

解决win7和2008连接windows 2003远程桌面很卡的问题 来源:http://www.hack1990.com/ 作者:佚名 时间:2013-04-12 TAG: 我要投稿 原因在于从vista开始,微软在TCP/IP协议栈里新加了一个叫做 “Window Auto-Tuning”的功能. 这个功能本身的目的是为了让操作系统根据网络的实时性能 (比如响应时间)来动态调整网络上传输的数据窗口的大小,从 而达到实时优化网络性能的目的. 但是,在某种情况下(具体是怎样的一个环境,目前我也不

webstorm 很卡 scanning files to index (扫描文件索引)

webstorm 号称"前端神器",但npm导入包跑索引,会很卡不停的跑索引... 排除你不想索引的文件夹 找到你想排除的文件夹(主要是node_modulewe文件夹),右键选择 Mark Directory As > Excluded .然后重启webstorm 以下解决: 重启webstorm,发现又快起来了 .