随笔分类 - SQL
摘要:有时候有些需求是需要工作日才能处理,节假日要顺延的,碰到这种我们就需要自己维护自己的日期表。 本文维护的是全年的,建议只维护节假日的,这样维护的数据会少很多,因为我已经是维护全年的啦,就为了自己方便,总结了几句SQL可以快速设置周六周日,至于法定节假日,因为全年也没几天,所以是在设置好周六周日后,再
阅读全文
摘要:一、MySql 8.0 以下 实现排名 -- 方法一 SELECT name, score, @rank := @rank + 1 as pm FROM scores A, (SELECT @rank := 0) B ORDER BY score DESC; -- 方法二 select C.* fr
阅读全文
摘要:一,修改配置 show variables like '%time_zone%'; //查询当前时区 set global time_zone='+8:00'; //在标准时区上加+8小时,即东8区时间 flush privileges; # 立即生效 二,修改数据库连接 spring.dataso
阅读全文
摘要:一、批量KILL 查询需要处理的连接,拼接kill语句 SELECT concat('KILL ',id,';') from information_schema.`PROCESSLIST` WHERE Time > 1000 AND USER = 'zy' ORDER BY TIME desc;
阅读全文
摘要:本文介绍的时关于更新语句会锁表的原因及解决方案。 一、现象 当多个连接同时对一个表的数据进行更新操作,那么速度将会越来越慢,持续一段时间后将出现数据表被锁,从而影响到其它的查询及更新。 update Order set state = 2 where oId=1 and state = 1 二、原因
阅读全文
摘要:utf8mb4 可以设置表情符号。 ALTER TABLE tb_case MODIFY COLUMN content VARCHAR(512) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;ALTER TABLE tb_case MODIFY C
阅读全文
摘要:背景:目前公司的报表计算需要20分钟,导致需要这么久的原因是,一次计算操作,执行了10万次+的update操作;看代码,有两个地方是这样写的,循环执行update,每个循环达到了4.6万次。 一,开始着手优化,第一个地方计算的是平均值,之前是根据report_date,trade_code这两个字段
阅读全文
摘要:-- 查询一个表共有多少列数 select count(*) from information_schema.COLUMNS where TABLE_SCHEMA='库名' and table_name='表名' -- 查询某个数据库中某个表的所有列名 SELECT COLUMN_NAME FROM
阅读全文
摘要:前言:MySQL 有很多内置的函数,该篇介绍的是字符串函数,数字函数,日期函数,高级函数。想更多的了解可以阅读下教程。传送门 》https://www.runoob.com/mysql/mysql-tutorial.html MySQL 字符串函数 函数描述实例 ASCII(s) 返回字符串 s 的
阅读全文
摘要:-- 查询是否锁表 SHOW OPEN TABLES WHERE In_use > 0; -- 查询到相对应的进程; info 里可以看到该操作的SQL文 SHOW FULL PROCESSLIST; -- 杀掉指定mysql连接的进程号 KILL $pid -- 查看正在锁的事务 SELECT *
阅读全文
摘要:前言:在日常工作中,我们需要对查询较慢的SQL进行分析,这时我们就会用到explain这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句有没有使用上了索引,有没有做全表扫描。 -- 分析SQL EXPLAIN SELECT * FROM zy_ticket_sw_classify WHER
阅读全文
摘要:-- 查看定时器状态;OFF=关闭,ON=开启 SHOW VARIABLES LIKE '%event_sche%' -- 开启定时器 SET GLOBAL event_scheduler=1 -- 以上的改法在数据库重启后将会恢复为原来状态,要想数据库重启后也可以让event_scheduler开
阅读全文