MySQL数据库中已压缩表特征

已压缩存储格式是由myisampack工具创建的只读格式。

所有MySQL分发版里都默认包括myisampack。已压缩表可以用myisamchk来解压缩。

已压缩表有下列特征:

· 已压缩表占据非常小的磁盘空间。这最小化了磁盘用量,当使用缓慢的磁盘(如CD-ROM)之时,这是很有用的。

· 每个记录是被单独压缩的,所以只有非常小的访问开支。依据表中最大的记录,一个记录的头在每个表中占据1到3个字节。每个列被不同地压缩。通常每个列有一个不同的Huffman树。一些压缩类型如下:

o 后缀空间压缩。

- 前缀空间压缩。

- 零值的数用一个位来存储。

- 如果在一个整型列中的值有一个小的范围,列被用最小可能的类型来存储。比如,一个BIGINT列(8字节),如果所有它的值在-128到127范围内,它可以被存储为TINYINT列(1字节)

- 如果一个列仅有一小组可能的值,列的类型被转化成ENUM。

- 一个列可以使用先前压缩类型的任意合并。

· 可以处理固定长度或动态长度记录。

时间: 2024-12-03 10:23:19

MySQL数据库中已压缩表特征的相关文章

一致性-在数据库中已有表数据的外键的建立问题

问题描述 在数据库中已有表数据的外键的建立问题 我的数据库中的表都有上万条的数据,考虑到表之间的数据一致性,需要用到外键,但是现在对表进行外键创建的时候报错了:"消息 547,级别 16,状态 0,第 2 行 ALTER TABLE 语句与 FOREIGN KEY 约束"FK_TM_ProT"冲突.该冲突发生于数据库"Master",表"dbo.TProD", column 'ID'." 这个ID列示该表的主键+唯一建,现在想

在mysql数据库中,文章表设计有啥好的思路

问题描述 用mysql设计一张文章表,不知道有啥好的思路!我是这样的,应为考虑附件和图片,所以我的文章表除了有varchar(1000)的文章内容,还设置了个Bolb接收附件和图片. 我用的是mysql大家说,这样好不好? 我的文章要么就是只显示图片,要么就是只显示纯文本的,但是要保持原有的格式. 总感觉有点不是很合理 java读取的时候会不会很烦?数据格式会不会走样? 附: 如果文章内容有图文混排有该如何办呢? 第一次设计文章表,没有头绪还请指教! 解决方案 建议文章的附件(包括图片.文档等等

php查找mysql数据库中的所有表名

直接cmd命令模式下使用  代码如下 复制代码 show databases; show tables from db_name;   show columns from table_name from db_name; show index from talbe_name [from db_name]; show status; show variables; show [full] processlist; show table status [from db_name]; show gra

MYSQL数据库中的现有表增加新字段(列)_Mysql

复制代码 代码如下: ALTER TABLE `数据库名`.`表名` ADD COLUMN `PROCID` VARCHAR(6) DEFAULT '' AFTER `PPIDChanged`; --在MYSQL中,如果是表名,数据库名,列名,在你增加,修改,更新的时候都需要使用ESC键盘下的重音符号,才可以添加,相应的列名或者更新修改. 当然现在大多都是用phpmyadmin或mysql图形化操作工具,更方法,这样的是临时使用的,或没有图形界面的方法.大家可以使用上述的图形化工具操作. 下面推

如何用PHP的页面备份、恢复Mysql数据库中的数据表

mysql|备份|恢复|数据|数据库|页面 <?           //备份数据       $i   =   0;       $crlf="\r\n";       $dbname="xgtqr";       global     $dbconn;       $dbconn   =   mysql_connect("localhost","root","root");       $db  

MySQL数据库中拷贝数据表的方法

  在 MySQL 中拷贝表,将 old_table 表拷贝为 new_table 表. 1. 不拷贝表数据,只拷贝结构. CREATE TABLE new_table LIKE old_table 2. 通过 SELECT 查询来拷贝,new_table 表会丢失主键.索引等信息. 引用 CREATE TABLE new_table AS ( SELECT * FROM old_table ) 3. 完全拷贝表 CREATE TABLE new_table LIKE old_table; IN

php获取mysql数据库中的所有表名的代码_php技巧

复制代码 代码如下: $server = 'localhost'; $user = 'root'; $pass = ''; $dbname = 'dayanmei_com'; $conn = mysql_connect($server,$user,$pass); if(!$conn) die("数据库系统连接失败!"); mysql_select_db($dbname) or die("数据库连接失败!"); $result = mysql_query("

MySQL数据库中的安全解决方案

随着网络的普及,基于网络的应用也越来越多.网络数据库就是其中之一.通过一台或几台服务器可以为很多客户提供服务,这种方式给人们带来了很多方便,但也给不法分子造成了可乘之机.由于数据都是通过网络传输的,这就可以在传输的过程中被截获,或者通过非常手段进入数据库.由于以上原因,数据库安全就显得十分重要.因此,本文就以上问题讨论了MySQL数据库在网络安全方面的一些功能. 帐户安全 帐户是MySQL最简单的安全措施.每一帐户都由用户名.密码以及位置(一般由服务器名.IP或通配符)组成.如用户john从se

php数据库中取值-php+mysql 数据库中取值

问题描述 php+mysql 数据库中取值 php+mysql 数据库中取值 表中字段是int类型,1代表供货商发货,2代表公司配货 .在页面上用一个下拉列表选择发货方式,如何把 供货商发货 公司配货 字样显示在下拉列表中 , 提交表单后可以更改配货方式,,, 后台逻辑该怎么写呢? 解决方案 http://yuncode.net/code/c_5267eac94c46717 解决方案二: http://www.jb51.net/article/60189.htm