上一篇
2025年8月最新动态
根据MySQL官方社区消息,MySQL 8.4版本近期优化了分区表性能,尤其在处理亿级数据时索引重建效率提升约18%,同时新增了对CHECK约束的完整支持,让数据完整性校验更灵活。
好的表结构就像盖房子的蓝图——字段类型选错了相当于用纸糊承重墙,后期改起来能让你怀疑人生,举个真实案例:某电商平台早期用VARCHAR(20)
存用户手机号,结果国际号码入库直接报错,最后不得不停机改造。
整数类型:
TINYINT
:-128~127(适合状态码) INT
:21亿够用?不够直接上BIGINT
INT(11)
了,括号里的数字早就不表示长度了 字符串类型:
VARCHAR
:可变长度,但别设成VARCHAR(65535)
——实际会被行大小限制打脸 CHAR
:定长字段用(比如MD5固定32位) 时间类型:
DATETIME
vs TIMESTAMP
: -- 带时区转换的坑 CREATE TABLE event ( ts TIMESTAMP, -- 存入时会转UTC,取出转当前时区 dt DATETIME -- 存什么就是什么 );
INDEX (a, b, c) -- 能加速 WHERE a=? 和 WHERE a=? AND b=?,但 WHERE b=? 用不上
EXPLAIN ANALYZE
比传统EXPLAIN更精准 # 连接MySQL(2025年推荐用更安全的socket认证) mysql -u root -p --protocol=socket
-- 创建带字符集的数据库 CREATE DATABASE shop DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci; -- 查看所有数据库(注意排除系统库) SHOW DATABASES WHERE `Database` NOT LIKE '%schema';
USE shop; CREATE TABLE users ( user_id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT, username VARCHAR(32) NOT NULL COMMENT '登录账号', -- 密码存储规范(2025年必须用argon2算法) password_hash CHAR(97) NOT NULL COMMENT 'argon2格式哈希', mobile CHAR(11) NOT NULL COMMENT '国内手机号', status ENUM('active', 'frozen', 'deleted') NOT NULL DEFAULT 'active', created_at DATETIME(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6), updated_at DATETIME(6) ON UPDATE CURRENT_TIMESTAMP(6), PRIMARY KEY (user_id), UNIQUE KEY idx_username (username), KEY idx_mobile (mobile) ) ENGINE=InnoDB ROW_FORMAT=COMPRESSED; -- 查看表结构(比DESC更详细) SHOW CREATE TABLE users\G
-- 紧急修改字段(不锁表技巧) ALTER TABLE users ADD COLUMN wechat VARCHAR(64) AFTER mobile, ALGORITHM=INPLACE, LOCK=NONE; -- 快速清空大表(比DELETE快100倍) TRUNCATE TABLE log_archive; -- 查看表空间占用 SELECT table_name, ROUND(data_length/1024/1024, 2) AS 'Size(MB)' FROM information_schema.tables WHERE table_schema = 'shop';
ALTER TABLE users ALTER INDEX idx_mobile INVISIBLE;
JSON_MERGE_PRESERVE()
函数,处理多层嵌套JSON更方便 避坑总结:
FLOAT
存金额,DECIMAL(20,8)
是底线 BIGINT
够你用300年 SELECT *
,字段列表能减少30%网络传输 掌握这些技巧,你就能在2025年的数据库战场上少掉几根头发了!
本文由 怀刚洁 于2025-08-02发表在【云服务器提供商】,文中图片由(怀刚洁)上传,本平台仅提供信息存储服务;作者观点、意见不代表本站立场,如有侵权,请联系我们删除;若有图片侵权,请您准备原始证明材料和公证书后联系我方删除!
本文链接:https://vps.7tqx.com/wenda/512540.html
发表评论