SET NAMES utf8mb4;SET FOREIGN_KEY_CHECKS = 0;-- ------------------------------ Table structure for novel_author-- ----------------------------DROP TABLE IF EXISTS novel_author;CREATE TABLE novel_autho
-
调整数据类型:将
review_status字段的数据类型改为tinyint,可以节省存储空间。 -
添加索引:对于
user_id字段和pen_name字段添加索引,可以提高查询效率。 -
使用默认值:将
create_by、create_time、update_by和update_time字段的默认值改为当前用户和当前时间,可以减少插入和更新操作时的代码量。 -
删除不必要的字符集和校对规则:由于MySQL默认使用
utf8mb4字符集和utf8mb4_general_ci校对规则,因此在表定义时可以省略这些信息,以减少代码量。
修改后的表结构如下:
SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS = 0;
-- Table structure for novel_author
DROP TABLE IF EXISTS novel_author;
CREATE TABLE novel_author (
id bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主键',
user_id bigint(20) NOT NULL COMMENT '用户id',
pen_name varchar(255) NOT NULL COMMENT '作者笔名',
real_name varchar(255) NULL DEFAULT NULL COMMENT '真实姓名',
email varchar(255) NULL DEFAULT NULL COMMENT '邮箱',
phone varchar(16) NULL DEFAULT NULL COMMENT '手机号码',
bank_name varchar(255) NULL DEFAULT NULL COMMENT '银行名称',
bank_account varchar(255) NULL DEFAULT NULL COMMENT '银行账户',
bank_address varchar(255) NULL DEFAULT NULL COMMENT '开户行',
review_status tinyint(3) UNSIGNED ZEROFILL NOT NULL COMMENT '审核状态',
review_status_msg varchar(255) NULL DEFAULT NULL COMMENT '审核状态描述',
create_by varchar(64) NULL DEFAULT CURRENT_USER COMMENT '创建者',
create_time datetime NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_by varchar(64) NULL DEFAULT CURRENT_USER COMMENT '更新者',
update_time datetime NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
remark varchar(500) NULL DEFAULT '' COMMENT '备注',
PRIMARY KEY (id) USING BTREE,
INDEX idx_user_id (user_id) USING BTREE,
INDEX idx_pen_name (pen_name) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 5 ROW_FORMAT = Dynamic;
SET FOREIGN_KEY_CHECKS = 1;
原文地址: https://www.cveoy.top/t/topic/bzND 著作权归作者所有。请勿转载和采集!