
SQL
文章平均质量分 88
枕上~诗书闲
这个作者很懒,什么都没留下…
展开
-
ClickHouse常用函数整理
Clickhouse常用函数整理原创 2022-01-24 21:35:26 · 1437 阅读 · 0 评论 -
Linux 服务器上用yum命令安装Mysql8.0教程记录
前言: 最近买了阿里云的服务器,顺手记录一下安装MySQL8.0的记录1. 找到指定位置下载并安装MySQLwget -i -c https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm下载到指定位置后,就可以执行安装了yum -y install mysql80-community-release-el7-3.noarch.rpmyum -y install mysql-community-server2原创 2021-11-18 14:36:57 · 625 阅读 · 0 评论 -
Mybatis之SelectKey
一、背景:SelectKey在Mybatis中是为了解决Insert数据时不支持主键自动生成的问题,他可以很随意的设置生成主键的方式。二、应用场景使用SELECT LAST_INSERT_ID() 这个sql语句来获取插入记录后返回的自增id<insert id="insert" parameterClass="UserDO">INSERT INTO user( user_id,user_nick,tel_phone,address,status, user_type,remark)原创 2020-12-13 20:07:43 · 2909 阅读 · 0 评论 -
执行insert 语句报错 ERROR 1292 (22007) at line 1: Truncated incorrect DOUBLE value: ‘XXXX‘
执行insert语句的时候不知道为什么会有这个错,原来是我在where条件后面 一个String类型的我没有给 单引号 ’ ’INSERT INTO XXX(id,pid,p1)SELECT UUID_SHORT() as id,id as pid,p1FROM prjestablish WHERE p1 != '0'不是这样INSERT INTO XXX(id,pid,p1)SELECT UUID_SHORT() as id,id as pid,p1FROM prjestablish WH原创 2020-12-12 17:48:42 · 848 阅读 · 1 评论 -
Broken pipe异常分析和常用锁的命令
错误描述ClientAbortException: java.io.IOException: Broken pipe这种就是获取不到连接了,连接已经断开了。出现这种问题的可能性:连接太多,到了最大连接数,每个连接处理的速度太慢,而导致处理不过来所以连接断开了请求报文和返回参数量过大然而导致了client自行中断了连接。文件过大:处理时间过长,由于执行时间较长或频率较高,程序或服务器出发超时直接结束进程。数据库配置问题或者是JVM配置太低而导致的,JVM垃圾没有回收,因为有次出现过代码里面死原创 2020-12-12 17:42:46 · 21456 阅读 · 0 评论 -
MySQL中的in和exists区别
in和exists的区别分析select * from A where id in (select id from B);select * from A where exists (select 1 from B where A.id=B.id);对于以上两种情况,in是在内存里遍历比较,而exists需要查询数据库,所以当B表数据量较大时,exists效率优于in。当B表数据较大时不适合使用in(),因为它会B表数据全部遍历一次结论:IN()适合B表比A表数据小的情况当B表比A表数据大时适原创 2020-12-12 16:57:00 · 458 阅读 · 0 评论 -
MySQL Sending data 查询数据慢
项目场景:项目中总是有查询很慢的时候 相当于就是Sending data数据的时候很慢问题描述:这时候我们就要看他的处理过程了show processlist;这时可以查看他的 State 状态,他的状态可能是 Sending data这是MySQL在做 “收集 + 发送 数据”;在进一步排查show profile;这时候就看Duration哪里耗时最长哪里耗时最长就是哪里的问题一般是Sending data 排查对比:1. 表的设计一个字段为 XXX varchar原创 2020-12-12 16:16:27 · 1790 阅读 · 0 评论 -
MySQL 的 on duplicate key update用法和注意事项
1 前言-用法由来MySQL 的 on duplicate key update 方法使用的由来在实际应用中 数据同步 max(updateTime)先删后增,有可能连接超时,网关超时,IO流的异常…换种写法并且有的时候是导入的数据,要求如果有就新增,没有就更新,后来才发现有这种语法。2 写法详解2.1 单条记录使用2.2 多条记录使用 2.3 MyBatis的写法 在这里插入代码片3. 注意事项3.1 业务主键ID不能重复 (最好不要用自增的列 )3.2原创 2020-12-12 15:23:51 · 4520 阅读 · 1 评论 -
MySQL 的存储过程函数
存储过程与函数其实差不多,本质上是一样的 MySQL存储过程的作用及语法作用: 1、使用存过过程,很多相似性的删除,更新,新增等操作就变得轻松了,并且以后也便于管理(像有时候需要做测试数据的时候,因为要压测嘛) 2、存储过程因为SQL语句已经预编绎过了,因此运行的速度比较快。 3、存储过程可以接受参数、输出参数、返回单个或多个结果集以及返回值。可以向程序返回错误原因。 4、存储过程运行比较稳定,不会有太多的错误。只要一次成功,以后都会按这个程序运行。 5、存储过程主要是在服务器上运行原创 2020-12-12 13:51:49 · 99 阅读 · 0 评论 -
MySQL 函数语法整理
数据记录统计函数: AVG(字段名) //得出一个表格某个字段的平均值 COUNT(*|字段名) //对数据行数的统计或对某一字段有值的数据行数统计 MAX(字段名) //取得一个表格中某字段的最大值 MIN(字段名) //取得一个表格中某字段的最小值 SUM(字段名) //取得一个表格中某字段的总和CASE WHEN THEN 函数 语法: CASE value WHEN [compare-value] THEN result [WHEN [compare-原创 2020-12-12 13:39:42 · 586 阅读 · 0 评论