博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
innodb_page_size 4k 对称
阅读量:5773 次
发布时间:2019-06-18

本文共 9729 字,大约阅读时间需要 32 分钟。

SSD、PCIE 硬盘在使用时厂商或者优化建议需要把innodb_page_size 更改为4k,更改为4k 确实性能上有所提升,但由于线上环境索引使用不规范4k 也导致索引的大小必须小于768。mysql 默认是 16k。错误:   Specified key was too long; max key length is 768 bytes  测试:4k:mysql> show variables like 'innodb_page_size';         +------------------+-------+| Variable_name    | Value |+------------------+-------+| innodb_page_size | 4096  |+------------------+-------+mysql> CREATE TABLE `authroize_info_0` (                                                                                                            ->   `id` int(11) NOT NULL AUTO_INCREMENT,                                                                                                      ->   `xxxid` varchar(32) NOT NULL,                                                                                                             ->   `bind_no` varchar(100) DEFAULT NULL,                                                                                                       ->   `auth_code` varchar(100) DEFAULT '',                                                                                                       ->   `auth_token` varchar(100) DEFAULT '',                                                                                                      ->   `refresh_token` varchar(100) DEFAULT '',                                                                                                   ->   `expires_in` varchar(100) DEFAULT '',                                                                                                      ->   `reExpires_in` varchar(100) DEFAULT '',                                                                                                    ->   `is_id_auth` varchar(10) DEFAULT '',                                                                                                       ->   `is_certified` varchar(10) DEFAULT '',                                                                                                     ->   `is_bank_auth` varchar(10) DEFAULT '',                                                                                                     ->   `is_licence_auth` varchar(10) DEFAULT '',                                                                                                  ->   `is_mobile_auth` varchar(10) DEFAULT '',                                                                                                   ->   `mobile` varchar(20) DEFAULT '',                                                                                                           ->   `user_id` varchar(100) DEFAULT '',                                                                                                         ->   `real_name` varchar(100) DEFAULT '',                                                                                                       ->   `cert_no` varchar(100) DEFAULT '',    ->   `cert_type_value` varchar(100) DEFAULT '',                                                                                                 ->   `status` int(11) DEFAULT '0',    ->   `create_time` timestamp NULL DEFAULT NULL,                                                                                                 ->   `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,                                                    ->   `error_code` varchar(100) DEFAULT '',                                                                                                      ->   `email` varchar(255) DEFAULT '',                                                                                                           ->   `sex` varchar(20) DEFAULT '',                                                                                                              ->   `note` varchar(255) DEFAULT '',                                                                                                            ->   PRIMARY KEY (`id`),                                                                                                                        ->   KEY `aliId_status` (`user_id`,`status`) USING BTREE,                                                                                       ->   KEY `uptime_status_moId` (`update_time`,`status`) USING BTREE,                                                                             ->   KEY `email_status` (`email`,`status`) USING BTREE,                                                                                         ->   KEY `moId_status_aliId` (`xxid`,`status`,`user_id`,`bind_no`) USING BTREE                                                                -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;ERROR 1071 (42000): Specified key was too long; max key length is 768 bytes16k:>show variables like 'innodb_page_size';         +------------------+-------+| Variable_name    | Value |+------------------+-------+| innodb_page_size | 16384 |+------------------+-------+1 row in set (0.02 sec)CREATE TABLE `authroize_info_0` (                                                                                                            ->   `id` int(11) NOT NULL AUTO_INCREMENT,                                                                                                      ->   `xxid` varchar(32) NOT NULL,                                                                                                             ->   `bind_no` varchar(100) DEFAULT NULL,                                                                                                       ->   `auth_code` varchar(100) DEFAULT '',                                                                                                       ->   `auth_token` varchar(100) DEFAULT '',                                                                                                      ->   `refresh_token` varchar(100) DEFAULT '',                                                                                                   ->   `expires_in` varchar(100) DEFAULT '',                                                                                                      ->   `reExpires_in` varchar(100) DEFAULT '',                                                                                                    ->   `is_id_auth` varchar(10) DEFAULT '',                                                                                                       ->   `is_certified` varchar(10) DEFAULT '',                                                                                                     ->   `is_bank_auth` varchar(10) DEFAULT '',                                                                                                     ->   `is_licence_auth` varchar(10) DEFAULT '',                                                                                                  ->   `is_mobile_auth` varchar(10) DEFAULT '',                                                                                                   ->   `mobile` varchar(20) DEFAULT '',                                                                                                           ->   `user_id` varchar(100) DEFAULT '',                                                                                                         ->   `real_name` varchar(100) DEFAULT '',                                                                                                       ->   `cert_no` varchar(100) DEFAULT '',    ->   `cert_type_value` varchar(100) DEFAULT '',                                                                                                 ->   `status` int(11) DEFAULT '0',    ->   `create_time` timestamp NULL DEFAULT NULL,                                                                                                 ->   `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,                                                    ->   `error_code` varchar(100) DEFAULT '',                                                                                                      ->   `email` varchar(255) DEFAULT '',                                                                                                           ->   `sex` varchar(20) DEFAULT '',                                                                                                              ->   `note` varchar(255) DEFAULT '',                                                                                                            ->   PRIMARY KEY (`id`),                                                                                                                        ->   KEY `aliId_status` (`user_id`,`status`) USING BTREE,                                                                                       ->   KEY `uptime_status_moId` (`update_time`,`status`) USING BTREE,                                                                             ->   KEY `email_status` (`email`,`status`) USING BTREE,                                                                                         ->   KEY `moId_status_aliId` (`xxid`,`status`,`user_id`,`bind_no`) USING BTREE                                                                -> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;Query OK, 0 rows affected (0.06 sec)MySQL官方解释:  If you reduce the InnoDB page size to 8KB or 4KB by specifying the innodb_page_size option when creating the MySQL instance, the maximum length of the index key is lowered proportionally, based on the limit of 3072 bytes for a 16KB page size. That is, the maximum index key length is 1536 bytes when the page size is 8KB, and 768 bytes when the page size is 4KB.https://dev.mysql.com/doc/refman/5.6/en/innodb-restrictions.html

转载地址:http://pyoux.baihongyu.com/

你可能感兴趣的文章
KVO原理分析及使用进阶
查看>>
【348天】每日项目总结系列086(2018.01.19)
查看>>
【294天】我爱刷题系列053(2017.11.26)
查看>>
Microsoft发布了Azure Bot Service和LUIS的GA版
查看>>
Google发布Puppeteer 1.0
查看>>
.NET开源现状
查看>>
可替换元素和非可替换元素
查看>>
2016/08/25 The Secret Assumption of Agile
查看>>
(Portal 开发读书笔记)Portlet间交互-PortletSession
查看>>
搭建vsftpd服务器,使用匿名账户登入
查看>>
AMD改善Linux驱动,支持动态电源管理
查看>>
JAVA中循环删除list中元素的方法总结
查看>>
Java虚拟机管理的内存运行时数据区域解释
查看>>
人人都会深度学习之Tensorflow基础快速入门
查看>>
ChPlayer播放器的使用
查看>>
js 经过修改改良的全浏览器支持的软键盘,随机排列
查看>>
Mysql读写分离
查看>>
Oracle 备份与恢复学习笔记(5_1)
查看>>
Oracle 备份与恢复学习笔记(14)
查看>>
分布式配置中心disconf第一部(基本介绍)
查看>>