innodb主键id设置规则
时间: 2024-01-29 07:03:27 浏览: 34
InnoDB主键id的设置规则有以下几点:
1. 主键id必须是整数类型,通常使用INT或BIGINT类型。
2. 主键id必须是自增的,可以使用AUTO_INCREMENT关键字来实现自增。
3. 主键id必须是唯一的,可以使用UNIQUE约束来保证唯一性。
4. 主键id应该是简单的,避免使用复合主键,因为复合主键可能会导致查询性能下降。
5. 主键id的值应该尽可能小,因为InnoDB使用B+树来存储索引,较小的值可以减少B+树的深度,提高查询效率。
6. 主键id不应该被频繁修改,因为主键id的修改会导致InnoDB对数据进行删除和插入操作,影响性能。
总之,InnoDB主键id的设置应该遵循整数类型、自增、唯一、简单、小值、不频繁修改的规则,以提高查询性能和数据写入性能。
相关问题
CREATE TABLE `slot_and_material_info` ( `id` bigint NOT NULL COMMENT '主键CREATE TABLE `render_project_info` ( `id` bigint NOT NULL COMMENT '主键', `material_name` varchar(50) COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '素材名字', `material_id` bigint NOT NULL COMMENT '素材项目表主键id', `position_count` int NOT NULL DEFAULT '0' COMMENT '坑位数量(总数)', `status` int NOT NULL DEFAULT '1' COMMENT '坑位渲染状态(1未开始 2渲染中 3已完成 4暂停中 5渲染失败)', `create_time` datetime NOT NULL COMMENT '创建时间', `update_time` datetime NOT NULL COMMENT '更新时间', `priority` bigint NOT NULL DEFAULT '1' COMMENT '优先级 (举例:1最小 10000最大)', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='渲染项目队列表';id', `material_id` bigint DEFAULT NULL COMMENT '素材项目表id', `slot_type` int NOT NULL COMMENT '0是2d 1是3d', `slot_id` bigint DEFAULT NULL COMMENT '坑位id', `create_time` datetime NOT NULL COMMENT '创建时间', `update_time` datetime NOT NULL COMMENT '更新时间' ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='坑位和素材项目详情表 ';
这段代码是用来创建两个表的,分别是渲染项目队列表和坑位和素材项目详情表。其中渲染项目队列表包含id、素材名字、素材项目表主键id、坑位数量、坑位渲染状态、创建时间、更新时间和优先级等字段;坑位和素材项目详情表包含id、素材项目表id、坑位类型、坑位id、创建时间和更新时间等字段。这些表都使用了InnoDB引擎,字符集为utf8mb4,排序规则为utf8mb4_unicode_ci。
CREATE TABLE po_order_config_pd_det ( id varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '主键', pd_id varchar(32) DEFAULT NULL COMMENT '商品id', pd_base_type varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci DEFAULT NULL COMMENT '商品种类(1sku 2组合商品 4SPU)', PRIMARY KEY (id) USING BTREE ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='开单明细设置(po_order_config_pd_det)';
这是一个MySQL的创建表语句,用来创建一个名为po_order_config_pd_det的表。该表包含三个列:id、pd_id和pd_base_type。其中id为主键,类型为varchar(32),不允许为空;pd_id和pd_base_type的类型为varchar(32)和varchar(1),可以为空。该表使用InnoDB引擎,字符集为utf8mb4,排序规则为utf8mb4_0900_ai_ci,行格式为动态行格式。该表的注释为'开单明细设置(po_order_config_pd_det)'。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)