php 实现 mysql数据表优化与修复
<?php
$link = mysql_connect("localhost", "root", "") or die("errro:" . mysql_error());
mysql_query("set names utf8");
mysql_select_db("数据库名", $link); /*
// 展示数据表相关信息
$sql = "show table status";
$res = mysql_query($sql,$link);
while($row = mysql_fetch_assoc($res))
{ $row = Array
(
[Name] => 表名称
[Engine] => 表的存储引擎
[Version] => 版本
[Row_format] => 行格式。对于MyISAM引擎,这可能是Dynamic,Fixed或Compressed。动态行的行长度可变,例如Varchar或Blob类型字段。固定行是指行长度不变,例如Char和Integer类型字段。
[Rows] => 表中的行数。对于非事务性表,这个值是精确的,对于事务性引擎,这个值通常是估算的
[Avg_row_length] => 平均每行包括的字节数
[Data_length] => 整个表的数据量(单位:字节)
[Max_data_length] => 表可以容纳的最大数据量
[Index_length] => 索引占用磁盘的空间大小
[Data_free] => 对于MyISAM引擎,标识已分配,但现在未使用的空间,并且包含了已被删除行的空间。
[Auto_increment] => 下一个Auto_increment的值
[Create_time] => 表的创建时间
[Update_time] => 表的最近更新时间
[Check_time] => 使用 check table 或myisamchk工具检查表的最近时间
[Collation] => 表的默认字符集和字符排序规则
[Checksum] => 如果启用,则对整个表的内容计算时的校验和
[Create_options] => 指表创建时的其他所有选项
[Comment] => 包含了其他额外信息,对于MyISAM引擎,包含了注释徐标新,如果表使用的是innodb引擎 ,将现实表的剩余空间。如果是一个视图,注释里面包含了VIEW字样。
) }
*/ $sql = "OPTIMIZE TABLE 数据表名";
$res = mysql_query($sql,$link);
while($row = mysql_fetch_assoc($res))
{
/**
$row = Array
(
[Table] => 数据库.数据表名
[Op] => optimize
[Msg_type] => status
[Msg_text] => Table is already up to date
)
*/
if ($row['Msg_type'] =='error' && strpos($row['Msg_text'], 'repair') !== false)
{
mysql_query('REPAIR TABLE 数据表名', $link);
} }
php 实现 mysql数据表优化与修复的更多相关文章
- MySQL 数据表修复及数据恢复
1. MYSQL数据表在什么情况下容易损坏? 服务器突然断电导致数据文件损坏. 强制关机,没有先关闭mysql 服务等. 2. 数据表损坏后的主要现象是什么? 从表中选择数据之时,得到如下错误:I ...
- MYSQL数据表损坏的原因分析和修复方法小结
MYSQL数据表损坏的原因分析和修复方法小结 1.表损坏的原因分析 以下原因是导致mysql 表毁坏的常见原因: 1. 服务器突然断电导致数据文件损坏. 2. 强制关机,没有先关闭mysql 服务. ...
- MySql数据表设计,索引优化,SQL优化,其他数据库
MySql数据表设计,索引优化,SQL优化,其他数据库 1.数据表设计 1.1数据类型 1.2避免空值 1.3text类型优化 2.索引优化 2.1索引分类 2.2索引优化 3.SQL优化 3.1分批 ...
- 优秀后端架构师必会知识:史上最全MySQL大表优化方案总结
本文原作者“ manong”,原创发表于segmentfault,原文链接:segmentfault.com/a/1190000006158186 1.引言 MySQL作为开源技术的代表作之一,是 ...
- MySQL 大表优化方案(长文)
当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑.部署.运维的各种复杂度,一般以整型 ...
- 用Myisamchk让MySQL数据表更健康
用Myisamchk让MySQL数据表更健康 2011-03-15 09:15 水太深 ITPUB 字号:T | T 为了让MySQL数据库中的数据表“更健康”,就需要对其进行定期体检.在这里笔者推荐 ...
- 谈谈MySQL数据表的类型(转)
谈谈MySQL数据表的类型 通常意义上,数据库也就是数据的集合,具体到计算机上数据库可以是存储器上一些文件的集合或者一些内存数据的集合. 我们通常说的MySql数据库,sql server数据库等等其 ...
- MySQL数据性能优化-修改方法与步骤
原文:http://bbs.landingbj.com/t-0-240421-1.html 数据库优化应该是每个设计到数据库操作应用必须涉及到的操作. 经常调试修改数据库性能主要有三个方面 1.MyS ...
- 随机获取Mysql数据表的一条或多条记录
随机获得Mysql数据表的一条或多条记录有很多方法,下面我就以users(userId,userName,password......)表(有一百多万条记录)为例,对比讲解下几个方法效率问题: sel ...
随机推荐
- session销毁
session.invalidate(),session.invalidate的销毁是把这个session所带的用户彻底的销毁,这个session跟用户已经紧密联合在一起,所以就一起销毁了,这样就算换 ...
- 奇异值分解(SVD) --- 几何意义
原文:http://blog.sciencenet.cn/blog-696950-699432.html PS:一直以来对SVD分解似懂非懂,此文为译文,原文以细致的分析+大量的可视化图形演示了SVD ...
- Helpers\URL
Helpers\URL The URL class is used for having handy methods or redirecting the page and returning the ...
- 如何优雅的实现界面跳转 之 统跳协议 - DarwinNativeRouter
PS 感谢大家的关注,由于我本想开源4个库,除了router, 另外三个分别是native dispatcher, web dispatcher 和 react dispatcher , 所以rout ...
- C#项目代码规范
C#项目代码规范 前言 小菜就是小菜,几个人搞出来的项目,让公司大牛稍微看了下,最后送出了惨不忍睹四个字.命名各种各样,五花八门,大写英文.小写英文.大写拼音.小写拼音.英文和拼音组合.字母和特殊 ...
- DNA比对
[编程题](满分27分) 脱氧核糖核酸即常说的DNA,是一类带有遗传信息的生物大分子.它由4种主要的脱氧核苷酸(dAMP.dGMP.dCMT和dTMP)通过磷酸二酯键连接而成.这4种核苷酸可以分别记为 ...
- Lastest Version Carprog Full V7.28 update and EEPROM reading
Carprog Full has recently launched the newest V7.28 (with all software activated and all 21items Ada ...
- Debian apt-get 无法补全
今天发现在终端里输入apt-get inst后按Tab键无法自动补全成 install,纳闷之余google了一下(我承认开始是baidu...),原来是没有安装 bash-completion. s ...
- 利用OPENSSL 实现MD5加密。
#include <stdio.h> #include "openssl/evp.h" #include "openssl/md5.h" #incl ...
- 用Activator.CreateInstance代替new实现类的实例化(转)
一直想得到这样一个函数,输入一个类的名称为参数,返回一个相应的类的实例. 这在工厂模式中是非常有用的 这样,可以使程序有更高的扩展性,例如,,下面的例子 如果现在有一个类,专门用来计算交通工具的速度, ...