phpmyadmin 打开数据表较多,数据量较大的数据库时出现超时的解决办法
用phpmyadmin打开数据表较多,数据量较大的数据库时,会出现超时,或者等半天打开了说数据库没有表。并且即便打开了,再进行其他浏览,编辑,sql等操作,页面也是相当慢的,慢等几乎无法忍受。这里慢也就慢在取得表状态的 SHOW TABLE STATUS 语句。SHOW TABLE STATUS 返回表的名字,类型,列数,大小,时间等相关信息。这些信息不要也罢。下面着手改以下两个地方就可以了。
以 phpMyAdmin 3.1.2 为例(不同版本可能会有差异):
打开 libraries/Table.class.php
查找
- if (! isset(PMA_Table::$cache[$db][$table][$info]) || $force_read) {
可以看到
- if (! isset(PMA_Table::$cache[$db][$table][$info]) || $force_read) {
- PMA_Table::$cache[$db][$table] = PMA_DBI_fetch_single_row('SHOW TABLE STATUS FROM ' . PMA_backquote($db) . ' LIKE \'' . $table . '\'');
- }
这里是左边数据表列表时用到的
改成
- if (! isset(PMA_Table::$cache[$db][$table][$info]) || $force_read) {
- //PMA_Table::$cache[$db][$table] = PMA_DBI_fetch_single_row('SHOW TABLE STATUS FROM ' . PMA_backquote($db) . ' LIKE \'' . $table . '\'');
- PMA_Table::$cache[$db][$table] = array('Name'=>$table);
- }
左边数据表导航鼠标放上去会出现一些表创建时间,最近更新时间等信息。这些信息要不要都行。
打开 libraries/database_interface.lib.php
查找
foreach ($databases as $each_database) {
可以看到
- if (true === $tbl_is_group) {
- $sql = 'SHOW TABLE STATUS FROM '
- . PMA_backquote($each_database)
- .' LIKE \'' . PMA_escape_mysql_wildcards(addslashes($table)) . '%\'';
- } else {
- $sql = 'SHOW TABLE STATUS FROM '
- . PMA_backquote($each_database);
- }
- $each_tables = PMA_DBI_fetch_result($sql, 'Name', null, $link);
改成
- if (true === $tbl_is_group) {
- $sql = 'SHOW TABLE STATUS FROM '
- . PMA_backquote($each_database)
- .' LIKE \'' . PMA_escape_mysql_wildcards(addslashes($table)) . '%\'';
- $each_tables = PMA_DBI_fetch_result($sql, 'Name', null, $link);
- } else {
- //$sql = 'SHOW TABLE STATUS FROM '
- $sql = 'SHOW TABLES FROM '
- . PMA_backquote($each_database);
- $each_tables = PMA_DBI_fetch_result($sql, 'Tables_in_'.$each_database, null, $link);
- foreach ($each_tables as $key=>$row){
- $each_tables[$key]['Name'] = $row['Tables_in_'.$each_database];
- }
- }
- //$each_tables = PMA_DBI_fetch_result($sql, 'Name', null, $link);
改完后右边显示数据表名,其他记录数,类型,大小等信息都不能正常显示。因为没有计算记录数,浏览链接也没有了。可以点击左边的数据表导航来浏览。这样改后应该一进去不多久就能显示出来。

phpmyadmin 打开数据表较多,数据量较大的数据库时出现超时的解决办法的更多相关文章
- 【Paddy】如何将物理表分割成动态数据表与静态数据表
前言 一般来说,物理表的增.删.改.查都受到数据量的制约,进而影响了性能. 很多情况下,你所负责的业务关键表中,每日变动的数据库与不变动的数据量比较,相差非常大. 这里我们将变动的数据称为动态数据,不 ...
- DataTable to Excel(使用NPOI、EPPlus将数据表中的数据读取到excel格式内存中)
/// <summary> /// DataTable to Excel(将数据表中的数据读取到excel格式内存中) /// </summary> /// <param ...
- 将数据表中的数据添加到ComboBox控件中
实现效果: 知识运用: ComboBox控件的DataSource 属性 //获取或设置ComboBox的数据源 public Object DataResouce{get;set;} //属性值:任 ...
- MySql——创建数据表,查询数据,排序查询数据
参考资料:<Mysql必知必会> 创建数据表 在学习前首先创建数据表和插入数据.如何安装mysql可以看看上个博客https://www.cnblogs.com/lbhym/p/11675 ...
- 向mysql数据表中插入数据失败的原因
1.案例代码: $sql1="insert into content(category,subject,content,username,release_date) values('{$ca ...
- code first网站发布后数据表中没有数据问题
code first网站发布后数据表中没有数据问题 (1).将internal sealed class Configuration类访问修饰符改为public class Configuratio ...
- python连接mysql数据表查询表获取数据导入到txt中
import pymysql'''连接mysql数据表查询表获取数据导入到txt中'''#查询结果写入数据到txtdef get_loan_number(file_txt): connect = py ...
- 触发器修改后保存之前的数据 表中插入数据时ID自动增长
create or replace trigger t before update on test5 for each rowbegin insert into test55 values (:old ...
- Winfrom treeview 如何从多个数据表中获取数据动态生成
本文转载:http://www.cnblogs.com/VincentLuo/archive/2008/03/29/1128987.html 在 汪洋怡舟的这篇文章中[http://www.cnblo ...
随机推荐
- python练习六十一:文件处理,读取文件内容
python练习六十一:文件处理,读取文件内容 假设要读取text.txt文件中内容 写文件(如果有文件,那直接调用就行,我这里自己先创建的文件) list1 = ['python','jave',' ...
- python升级到3.*版本
转载https://blog.csdn.net/liang19890820/article/details/51079633 简述 CentOS 7 中默认安装了 Python,版本比较低(2.7.5 ...
- Linux防火墙配置学习记录
一.iptables基本原理 1.iptables是一个管理内核包过滤的工具,包含4个表,5个链 表和链被称为Netfilter模块的两个维度, 表提供特定的功能内置四个表: filter表:用于对数 ...
- django django中的HTML控件及参数传递方法 以及 HTML form 里的数据是怎么被包成http request 的?如何在浏览器里查看到这些数据?
https://www.jb51.net/article/136738.htm django中的HTML控件及参数传递方法 下面小编就为大家分享一篇django中的HTML控件及参数传递方法,具有很好 ...
- mybatis 动态行转列
SELECT user_name , MAX(CASE course WHEN '数学' THEN score END ) 数学, MAX(CASE course WHEN '语文' THEN sco ...
- Tiles框架入门教程
1.为何选用Tiles 刚接触Java Web开发的人都知道,JSP中可以通过include标签动态插入一个JSP页面.在了解这个功能后可能会兴奋不已,因为这样可以实现多个JSP页面共用一个JSP的内 ...
- notepad++查看Log
安装步骤:打开notepad++,插件→ Plugin Manager→ Show Plugin Manager→ Avaliable→ 等待插件列表刷新出来后,选中Android Logger插件→ ...
- dict 增删改查
# dict # 数据类型划分: 可变数据类型,不可变数据类型 # 不可变数据类型: 元组 bool int str set (又被称为可哈希) # 可变数据类型: list dict (又被称为不可 ...
- CAD安装失败怎样卸载CAD 2009?错误提示某些产品无法安装
AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...
- 支付宝php支付接口说明
直接把该代码放到PHP服务器下,直接访问index.php.1.文件列表: alipay_config.php (基本参数配置页面,填写商家的支付宝安全校验码,合作id,支付宝帐号等内容)ind ...