🆚 PostgreSQL 数组 vs JSONB
1. 定义方式
-- 数组
CREATE TABLE users_array (
id SERIAL PRIMARY KEY,
tags TEXT[]
);
-- JSONB
CREATE TABLE users_jsonb (
id SERIAL PRIMARY KEY,
tags JSONB
);
2. 插入数据
-- 数组
INSERT INTO users_array (tags) VALUES ('{"dev","teamA"}');
-- JSONB
INSERT INTO users_jsonb (tags) VALUES ('["dev","teamA"]');
3. 查询方式
数组
-- 包含某个元素
SELECT * FROM users_array WHERE 'dev' = ANY(tags);
-- 包含多个元素
SELECT * FROM users_array WHERE tags @> ARRAY['dev','teamA'];
JSONB
-- 包含某个元素
SELECT * FROM users_jsonb WHERE tags @> '["dev"]';
-- 包含多个元素

最低0.47元/天 解锁文章
2422

被折叠的 条评论
为什么被折叠?



