
MysQL
文章平均质量分 56
轻尘×
一念起,千山万水;一念灭,沧海桑田;生活,或许本该就有诸多遗憾;那些情,已散落天涯,那些未说完的话、未叙完的故事,终将被流年吹散
展开
-
mybatisplus动态sql整型数组使用in踩坑
项目中有个需求,根据多个整型id查询对应的信息理论上最终sql应该是如下所示:但前端传来的参数想着就把userIdArr转成1,2,3,4,5,6就行了然后将字符串形式的userArrIds作为参数传给mappe,于是写成动态sql如下按照预想的,它应该生成如下sql语句自测一下,发现无论userIdArr传多少个,都只能查出第一个,郁闷了半天才发现被自己“蠢哭了”,因为将Integer[] userIdArr转换成了String,最终的sql其实是这样的整个参数被当成了原创 2022-08-26 10:09:04 · 1513 阅读 · 0 评论 -
mvcc相关:innoDB之read view数据格式
源码struct read_view_t{ ulint type; /*!< VIEW_NORMAL, VIEW_HIGH_GRANULARITY */ undo_no_t undo_no;/*!< 0 or if type is VIEW_HIGH_GRANULARITY transaction undo_no when this high-granularity consistent read view was created */ trx_id_t..原创 2022-04-26 11:33:41 · 282 阅读 · 0 评论 -
mysql InnoDB两次写(doublewrite)
前置知识InnoDB的数据的读取和更新是以页为单位的,并不是以行为单位的;需要被操作的数据,会先以页(16K)为单位加载到内存中;内存中被修改了的页,称为脏页;被修改的数据(脏页)并不是立刻刷新到磁盘,而是通过fscyn函数调用才会刷新到磁盘;doublewriteInsert Buffer给InnoDB存储引擎带来了性能上的提升,doublewrite给InnoDB带来的是数据页的可靠性。当数据库宕机时,可能InnoDB存储引擎正在写入某个页到表中,而这个页只...原创 2022-04-25 11:16:42 · 522 阅读 · 0 评论 -
Spring @Transactional注解失效场景重现
环境jdk1.8 + springboot 2.1.0.RELEASE+mysql 8 innerDB存储引擎正常在数据插入一条数据抛出checked异常 @Transactional public ApiResult updateUser(@RequestBody UserParams user) throws Exception { SysUser sysUser = new SysUser(); sysUser.se..原创 2022-04-15 17:02:07 · 1022 阅读 · 0 评论 -
@Options(useGeneratedKeys = true, keyProperty = “id“, keyColumn = “id“,mybatis主键自增长,返回主键值配置问题
在很多场景下,会将某个实体的主键设为自增长,但在某些场景下,需要在实体插入数据的同时就获取该实体的主键值;例如在用户注册时,我们需要将用户信息插入用户表,同时,我们需要生成一条与用户关联的另一张表的记录,在同一段逻辑代码中,就需要用户信息插入的同时,返回自增长的主键用以关联其他信息,mybatis配置方式如下。实体类@Getter@Setter@ToString@TableName("acc_sys_t_user")public class SysUser implements S..原创 2022-03-07 09:51:24 · 2637 阅读 · 0 评论 -
数据实测告诉你:不要人云亦云的瞎说EXISTS 与 in 的区别
背景实践过程中发现了MySQL一些慢查询,主要出现在in关键字上,查阅相关资料,众多博客都在分析in和 EXISTS 的区别与各自的适用场景,很多都是如下一般,直接给出结论,却没有数据支撑的。他们的结论言之凿凿的说:in()适合B表比A表数据小的情况exists()适合B表比A表数据大的情况我在实测过程中发现,在5.7环境下,无论是大表驱动小表,还是小表驱动大表,in的速度都优于exists,这不由得让我产生了怀疑。环境准备安装两个版本的数据库各一...原创 2021-10-14 11:37:32 · 1798 阅读 · 18 评论 -
Windows10 安装mysql 8 ERROR 2003 (HY000): Can‘t connect to MySQL server on ‘localhost‘
搜索结果第二个:链接在下面????????????MySQL :: Download MySQL Community Serverhttps://dev.mysql.com/downloads/mysql/Downloads No thanks, just start my download.解压添加一个环境变量配置my.ini文件解压文件中没有my.ini,自己动手建一个,涉及路径自行修改,里面有个data的路径,将来数据放这里原创 2021-10-13 19:01:08 · 419 阅读 · 0 评论 -
mysql删除重复数据,某列重复
recordSeq 为自增主键,missionID为可能重复键DELETEFROM t_cmp_recordWHERE recordSeq NOT IN ( SELECT t_temp.minSeq FROM ( SELECT MIN(recordSeq) AS minSeq FROM t_cmp_record GROUP...原创 2020-01-17 11:38:59 · 1025 阅读 · 0 评论 -
面试官请不要再问我mysql联合索引失效、有效情况了
版本:5.5.18.1联合索引建立情况:查询条件顺序和联合索引一样EXPLAIN SELECT * FROM t_cmp_mission WHERE companyID = "" AND isFinish ="" AND missionType ="" AND creTm = "";查询条件顺序和联合索引顺序完全相反EXPLAIN SELECT * FROM t_cmp_mis...原创 2019-10-25 17:55:21 · 1493 阅读 · 3 评论 -
mybatis plus中SelectProvider自定义sql避免where 1=1
因为查询条件的不确定,用到了where 1=1这样的权宜之计,使用WHERE 1=1 之后,就不能使用索引了且会遍历全表,显然在数据量比较大的情况下这是不能接受的解决方法之一:在返回自定义sql之前检查sql,将不需要的where 1=1替换掉 public static String replaceForeverTrueSql(String originalSql) { ...原创 2019-10-25 11:27:02 · 3015 阅读 · 0 评论 -
Linux上彻底卸载mysql
#查看当前安装mysql情况[root@iZwz97hxl5q1kwu1lhn5cwZ suntree]# rpm -qa|grep -i mysqlmysql-community-common-5.5.61-2.el6.x86_64mysql-community-client-5.5.61-2.el6.x86_64mysql-community-server-5.5.61-2.el6....原创 2019-08-09 10:06:30 · 311 阅读 · 0 评论 -
关于用户表根据userId分库后根据userName查询问题的思考
随着业务的持续增长,注册用户不断增长,查询压力越来越大,亟需对用户表进行拆分。采用最常规的拆分方法,对userId进行取模运算,根据取模结果,数据落到不同的库中这样一来,数据就分散了,大大降低单库的数据量,可以实现数据扩容,根据userId查询时需要先对userId进行取模运算,以决定需要从哪个库查找,查询过程如下例如有个userId为157,根据流程,157%3 = 1,它应该查询u_...原创 2019-07-27 17:39:31 · 1917 阅读 · 0 评论 -
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdb
D:\software\java\bin\java.exe -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=63194 -Dcom.sun.management.jmxrem...原创 2019-05-17 19:15:29 · 896 阅读 · 0 评论 -
根据经纬度查询附近地点
开发中经常有“附近”相关的需求,根据用户上传的经纬度获取它附近的xxxx解决方案有很多,查到一个比较适合最近业务场景的,效果还不错原贴地址:https://justcoding.iteye.com/blog/2224906测试:有一张城市表,包含全国3000多个主要的省市区县以现在的经纬度深圳龙岗的经纬度为例查询SELECT*, ( 6371 * acos( cos(r...原创 2019-03-30 11:53:05 · 4279 阅读 · 0 评论 -
mysq慢查询sql分析
MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,默认是10秒查询一下是否开启了慢查询日志show variables like '%slow_query_log%';我这里已经开启了,如果是OFF,开启set global slow_query_log=1;slow_query_log_file就是慢查询日志所在位置根据日志记录,优化sqlEXPL...原创 2019-03-29 20:53:35 · 280 阅读 · 0 评论 -
centOS 安装mysql 5.5
https://www.cnblogs.com/chenfool/p/7906306.html转载 2018-11-27 11:50:12 · 225 阅读 · 0 评论 -
InnoDB: Error: unable to create temporary file; errno: 13
重启mysqlservice mysqld start失败,日志显示如下181008 16:19:59 InnoDB: Using Linux native AIO/usr/sbin/mysqld: Can't create/write to file '/tmp/ibIwqDd4' (Errcode: 13)181008 16:19:59 InnoDB: Error: unabl...原创 2018-10-08 16:38:38 · 9197 阅读 · 1 评论 -
mysql‘事件计划已关闭
mysql‘事件计划已关闭。事件只能在服务器启动并开启事件计划时才能处理。’通过下列语句查询event是否开启show variables like '%sche%';通过执行下列语句,来开启event_schedulerset global event_scheduler =1;还有一种方法开启set global event_scheduler=on; ...原创 2018-09-26 11:21:35 · 2271 阅读 · 0 评论 -
mysql主从复制实践
mysql复制原理,推荐一本书《高清中文第三版-高性能mysql》第十章 现状:两个云主机,都是阿里云一 前期准备 将主服务的现有数据导入到从服务中,并确保在配置时两个库都没有任何操作 简单粗暴就是上锁FLUSH TABLES WITH READ LOCK;确保能相互ping通,且3306端口已经开放主上新建一个用户,指定只能让从连接grant replicati...原创 2018-09-08 17:55:49 · 341 阅读 · 0 评论 -
mysql修改密码
mysql修改密码登录MySQLuse mysql;5.7之前update user set password=password("root@123") where user="root";flush privileges;5.7之后update user set authentication_string=password("123456") where use...原创 2018-08-30 17:40:57 · 285 阅读 · 0 评论 -
mysql开启远程访问
登进数据库mysql -uxxxx -pxxxx选择mysql数据库use mysql;执行如下操作GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION;刷新一下flush privileges;ok,远程登录可以的,不信可以查看一下select ...原创 2018-07-20 20:41:50 · 4659 阅读 · 0 评论 -
Linux环境下为mysql5.7设置编码
Linux环境下为mysql5.7设置编码修改/etc/my.cnf,找到mysqldcharacter-set-server=utf8init_connect='SET NAMES utf8'重启MySQL##停止 service mysqld stop ##启动 service mysqld start进入MySQLmysql -uroot -p...原创 2018-06-01 09:56:44 · 2438 阅读 · 0 评论 -
命令行修改MysQL用户密码
格式:mysqladmin -u用户名 -p旧密码 password 新密码 mysqladmin -uroot -proot123 password 123456原创 2017-11-22 14:53:55 · 779 阅读 · 0 评论 -
面试题之数据库中事务及其四个特性
一.什么是事务 事务是应用程序中一系列严密的操作,所有操作必须成功完成,否则在每个操作中所作的所有更改都会被撤消。也就是事务具有原子性,一个事务中的一系列的操作要么全部成功,要么一个都不做。 事务的结束有两种,当事务中的所以步骤全部成功执行时,事务提交。如果其中一个步骤失败,将发生回滚操作,撤消撤消之前到事务开始时的所以操作。 二.事务的 ACID原创 2017-07-03 13:54:14 · 1855 阅读 · 0 评论 -
Could not retrieve transation read-only status server Query: insert into
java.sql.SQLException: Could not retrieve transation read-only status server Query: insert into t_user values (?,?,?,?,?,?,?,?) Parameters: [null, ss, 123, ss, 111, 1, 11, 1111] at org.apache.commo原创 2017-06-11 18:54:04 · 1903 阅读 · 1 评论 -
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failureLast packet sent to the server原创 2017-05-24 11:04:44 · 2780 阅读 · 0 评论 -
控制台连接数据库乱码问题
控制台(cmd.exe)连接数据库乱码数据库编码正常,从控制台查出来乱码 控制台连接数据库乱码问题控制台不能输入中文问题原创 2017-03-22 21:12:53 · 2006 阅读 · 1 评论 -
Hibernate单表查询总结(上)
单表查询总结(上)原创 2017-03-10 10:26:49 · 750 阅读 · 0 评论