1、MYSQL死锁处理
在对MYSQL表进行更新操作过程中可能会出现死锁问题,这时我们需要释放锁 ,保障被锁 数据 表能够 正常被其他应用程序更新。
执行 :
SELECT * FROM information_schema.INNODB_TRX;
将进程kill掉
如: KILL 117017123;
2、mysql中查询
- A表中有 B表 中没有的 数据
SELECT A.*
FROM table_a A
LEFT JOIN table_b B
ON A.channel_code = B.partner_channel
WHERE B.partner_channel IS NULL;
前一天日期语法:
DATE_FORMAT(channel_create_time, '%Y-%m-%d') = DATE_SUB(CURDATE(), INTERVAL 1 DAY)
3、clickhouse运维
#当前日期
select toDate(now());
2025-03-31
#前一天
SELECT subtractDays(now(), 1);
2025-03-30 11:53:06
#前一个月日期
select subtractMonths(toDate(now()), 1)
2025-02-28
#前一年日期
select subtractYears(toDate(now()), 1)
2024-03-31
常用语法:
--删除数据
ALTER TABLE data_dwd.date_utils DELETE WHERE 1 = 1;
--插入数据
INSERT INTO date_utils (today, yestoday) values ( toDate(now() ) , formatDateTime(subtractDays(now(), 1), '%Y-%m-%d') )
select * from date_utils;
--建表
CREATE TABLE if not exists data_dwd.date_utils ON CLUSTER default_cluster(
`today` String,
`yestoday`String
) ENGINE = ReplicatedMergeTree('/clickhouse/tables/{shard}/date_utils',
'{replica}')
PARTITION BY today
ORDER BY today
SETTINGS index_granularity = 8192
--ck保留前一天的日期数据
ALTER TABLE data_dwd.date_utils DELETE WHERE 1 = 1;INSERT INTO date_utils (today, yestoday) values ( toDate(now() ) , formatDateTime(subtractDays(now(), 1), '%Y-%m-%d') );ALTER TABLE data_dwd.ctg_org_user_register_new DELETE where formatDateTime(channel_create_time, '%Y-%m-%d') = ( select yestoday from data_dwd.date_utils)