在数据库中,“Column(列)”层面的优化,通常体现在结构设计、数据类型选择、索引使用、存储与查询方式等方面。下面按常见场景系统讲一下。
INT 不用 BIGINTVARCHAR(50) 不用 VARCHAR(255)TINYINT / ENUM(谨慎用 ENUM)-- 不推荐
age INT
-- 推荐
age TINYINT UNSIGNED
status TINYINT NOT NULL DEFAULT 0
DATETIME / TIMESTAMPcreated_at DATETIME NOT NULL
user
user_profile(avatar, biography)
INDEX(a, b, c)
可用:
WHERE a=1 AND b=2
不可用:
WHERE b=2
-- 差
WHERE YEAR(created_at) = 2024
-- 好
WHERE created_at >= '2024-01-01'
order(user_id, user_name)
price DECIMAL(10,2),
num INT,
total DECIMAL(10,2) AS (price * num)
TEXT / BLOB 不建索引SELECT *SELECT id, name FROM user
INDEX(name, age)
SELECT name, age FROM user WHERE name='Tom'
JSONB列优化 = 选对类型 + 控制宽度 + 合理索引 + 减少大字段 + 避免无效查询
如果你有具体数据库(MySQL / PG / Oracle)或具体表结构,我可以帮你针对性优化。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。