广东省网站建设_网站建设公司_MySQL_seo优化
2025/12/28 0:26:33 网站建设 项目流程

常用数据类型一、整数类型

SMALLINT - 2字节,-32768 到 +32767
INT - 4字节,-2147483648 到 +2147483647
BIGINT - 8字节,-9223372036854775808 到 +9223372036854775807
SERIAL - 自动递增整数(4字节,约21亿亿条)
BIGSERIAL - 大范围自增整数(8字节,约922亿亿条)
二、精确小数
NUMERIC(10,2) 表示总共10位,2位小数
三、字符类型
CHAR(n) - 定长字符串,不足补空格
VARCHAR(n) - 变长字符串,最大长度n
TEXT - 不限长度文本
四、日期时间类型
DATE - 日期,如 '2024-01-15'
TIME - 时间,如 '14:30:00'
TIMESTAMP - 日期和时间(有时区)
五、布尔类型
BOOLEAN - 真/假值
六、二进制类型
BYTEA - 二进制数据(类似BLOB)
七、JSON/XML 类型
JSONB - 二进制 JSON(推荐,支持索引)
XML - XML 数据
八、数组类型
任何类型都可以加上 [] 变成数组
INT[] - 整数数组
TEXT[] - 文本数组
九、特殊类型
ENUM - 枚举类型(需先创建)CREATE TYPE content_type AS ENUM ('article');

数据操作

一、数据转换
值::类型  
SELECT CURRENT_TIMESTAMP::DATE;
SELECT TO_CHAR(CURRENT_TIMESTAMP, 'YYYY-MM-DD HH24:MI:SS');

 索引

一、创建复合索引并且加上判断
CREATE UNIQUE INDEX idx_name 
ON newtable (column2,column3)
WHERE isdelete = 0;

一、行级锁
select * from newtable n FOR UPDATE

二、查看当前所有锁
SELECT
locktype,
database AS db_oid,
relation AS rel_oid,
pid,
mode,
granted
FROM pg_locks;
关键字段说明:
locktype:锁类型(如relation表锁、tuple行锁)
pid:持有锁的进程ID
mode:锁模式(如AccessShareLock、RowExclusiveLock)
granted:是否已获取锁(false表示被阻塞)

三、阻塞进程定位与终止

SELECT
blocked.pid AS blocked_pid,
blocked.query AS blocked_query,
blocking.pid AS blocking_pid,
blocking.query AS blocking_query
FROM pg_stat_activity blocked
JOIN pg_locks l1 ON l1.pid = blocked.pid
JOIN pg_locks l2 ON l2.locktype = l1.locktype
AND l2.DATABASE IS NOT DISTINCT FROM l1.DATABASE
AND l2.relation IS NOT DISTINCT FROM l1.relation
AND NOT l1.granted
AND l2.granted
JOIN pg_stat_activity blocking ON blocking.pid = l2.pid;
blocked_pid:被阻塞的进程ID
blocking_pid:阻塞源进程ID
blocked_query/blocking_query:对应SQL语句


四、终止单个进程
SELECT pg_terminate_backend(pid);

 

分析

一、查询执行分析工具
EXPLAIN ANALYZE
select '1'::int as d

 

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询