mysql中的PACK_KEYS详解
技术百科
黄舟
发布时间:2017-03-04
浏览: 次 在mysql的myisam引擎中,有一个是容易忽视的,叫压缩索引pack_keys ,
myISAM使用前缀压缩来减小索引大小,默认情况下会压缩字符串,也可以压缩整数
可以使用create table时用PACK_KEYS控制索引压缩的方式。
PACK_KEYS在MySQL手册中如下描述:
如果您希望索引更小,则把此选项设置为1。这样做通常使更新速度变慢,同时阅读速度加快。把选项设置为0可以取消所有的关键字压缩。把此选项设置为DEFAULT时,存储引擎只压缩长的CHAR或VARCHAR列(仅限于MyISAM)。
如果您不使用PACK_KEYS,则默认操作是只压缩字符串,但不压缩数字。如果您使用PACK_KEYS=1,则对数字也进行压缩。
在对二进制数字关键字进行压缩时,MySQL采用前缀压缩:
o 每个关键字需要一个额外的字节来指示前一个关键字中有多少字节与下一个关键字相同。
o 指向行的指针以高位字节优先的顺序存储在关键字的后面,用于改进压缩效果。
这意味着,如果两个连续行中有许多相同的关键字,则后续的“相同”的关键字通常只占用两个字节(包括指向行的指针)。与此相比,常规情况下,后续的关键字占用storage_size_for_key + pointer_size(指针尺寸通常为4)。但是,只有在许多数字相同的情况下,前缀压缩才有好处。如果所有的关键字完全不同,并且关键字不能含有NULL值,则每个关键字要多使用一个字节。(在这种情况中,储存压缩后的关键字的长度的字节与用于标记关键字是否为NULL的字节是同一字节。
比如有个字段保存 文件名,如"abc.pdf",其中pdf大家都是一样的,因此可以
根据这个字段采用压缩索引:
CREATE TABLE( `id` INT NOT NULL , `name` VARCHAR(250) NULL , PRIMARY KEY (`id`) ) PACK_KEYS = 1; ALTER TABLE table_n ame PACK_KEYS = 1;
以上就是mysql中的PACK_KEYS详解的内容,更多相关内容请关注PHP中文网(www.)!
# 这样做
# 相关内容
# 情况下
# 有个
# 设置为
# 大家都
# 中有
# 如果您
# 才有
# mysql
# 中文网
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- Windows10蓝屏代码DPC_WATCHDOG
- php做exe支持多线程吗_并发处理实现方式【详解
- Mac怎么进行语音输入_Mac听写功能设置与使用【
- Win11怎样安装搜狗输入法_Win11安装搜狗输
- php订单日志怎么按状态筛选_php筛选不同状态订
- c++的static关键字有什么用 静态变量和静态
- Python正则表达式实战_模式匹配说明【教程】
- MAC如何隐藏文件夹及文件_MAC终端命令隐藏与第
- Win10怎样设置多显示器_Win10多显示器扩展
- 如何在Golang中定义接口_抽象方法和多态实现
- 怎么将XML数据可视化 D3.js加载XML
- LINUX怎么进行文本内容搜索_Linux gre
- c# 服务器GC和工作站GC的区别和设置
- Win11怎么打开注册表_Windows 11注册
- Win11怎么设置虚拟内存最佳大小_Windows
- Win11此电脑不在桌面上_Windows 11桌
- php内存溢出怎么排查_php内存限制调试与优化方
- php8.4匿名类怎么用_php8.4匿名类创建与
- Windows10怎么查看系统激活状态_Windo
- MySQL 中使用 IF 和 CASE 实现查询字
- Win11怎样彻底卸载自带应用_Win11彻底卸载
- Win11怎么设置右键刷新选项_Windows11
- MAC怎么在照片中添加水印_MAC自带编辑工具文字
- 如何减少Golang内存碎片化_Golang内存分
- Win11怎么开启自动HDR画质_Windows1
- Python包结构设计_大型项目组织解析【指导】
- Python大文件处理策略_内存优化说明【指导】
- 获取 PHP 文件最后修改时间的正确方法
- Win11怎么关闭搜索历史_Win11清除任务栏搜
- 本地php环境出现502错误_nginx或apac
- C++如何使用std::transform批量处理
- php中::能用于接口静态方法吗_接口静态方法调用
- VSC怎么配置PHP的Xdebug_远程调试设置步
- 如何使用Golang实现路由分组管理_Golang
- 小程序里php怎么变mp4_小程序调用php生成m
- php打包exe如何加密代码_防反编译保护方法【技
- Windows10无法识别USB设备描述符请求失败
- Win11怎么看电池循环次数_Win11笔记本电池
- c++23 std::expected怎么用 c+
- Win11怎么设置多显示器任务栏 Win11扩展任
- Python安全爬虫设计_IP代理池与验证码识别策
- 如何在Golang中实现微服务服务拆分_Golan
- 如何在 Python 中将 ISO 8601 时间
- Windows怎样关闭桌面弹窗广告_Windows
- 如何使用Golang实现聊天室消息存档_存储聊天记
- Windows10系统更新错误0x80070002
- c++如何获取map中所有的键_C++遍历键值对提
- Python随机数生成_random模块说明【指导
- Windows10无法连接到Internet_Wi
- c++ try_emplace用法_c++ map

ame PACK_KEYS = 1;
QQ客服