Mysql & Database
文章平均质量分 70
Victor _Lv
个人微信公众号:维特小站(VictorSite)
展开
-
Mybatis 不支持 batchInsertOrUpdate 返显id
Note: Mybatis 不支持 batchInsertOrUpdate 返显id,仅 batchInsert 可批量返显id,需拆分 batchInsert 和 batchUpdate;或者单条insertOrUpdate。<insert id="batchInsert" useGeneratedKeys="true" keyProperty="id"> INSERT INTO month (month, game_id) VALUES &l原创 2022-05-11 11:38:24 · 1206 阅读 · 1 评论 -
MySQL分页查询limit优化的两种思路
我们知道,limit分页,当翻到比较靠后的页时,查询效率会越来越慢。如这则帖子所述:浅谈PageHelper插件分页实现原理及大数据量下SQL查询效率问题解决博主这也是一种不错的思路。其实针对分页这个问题,了解其为什么慢就知道优化方法了,按我的理解如下(不一定说的很准确哈):(1)以前select * from table order by id limit 100, 10这种方式,分页是怎么分的呢,是从磁盘拿整一个数据页到存储引擎缓冲区,比如 limit 100, 10 那就要按顺序先取出前100条原创 2022-04-11 17:25:41 · 5967 阅读 · 5 评论 -
记一次join + order by 的sql优化
慢查询日志中,发现一条 sql 每次执行时间都不理想,而且这条 SQL 在业务上是非常频繁调用(需要实时查库不能做redis缓存)的。于是着手对这条慢 sql 进行优化。 原 SQL 如下:SELECT rtt.topic_id FROM rel_topic_theme rtt INNER JOIN topic t ON (rtt.topic_id = t.id) WHERE rtt.topic_theme_id = 119988 AND t.is_delete = 0 AND review_s原创 2021-06-16 22:41:49 · 2248 阅读 · 0 评论 -
MySQL主从的异步复制、全同步复制与半同步复制
好文推荐:一文看懂MySQL的异步复制、全同步复制与半同步复制在线数据迁移经验:如何为正在飞行的飞机更换引擎MySQL 主从复制一、异步复制(relay_log)有两种实现方式:(1)主库dump线程异步通知:主库有一个 dump 线程,专门负责给从库发送新的 binlog,主库记录完 binlog 后,只会通知 dump 线程去发送,并不关心发送是否成功。(2)从库主动监听:从库监听主库的 binlog,并写入自身的 relay_log 中。因为是异步复制,无法做到实时同步,只能达到最终一致原创 2021-04-29 21:11:49 · 628 阅读 · 0 评论 -
一文了解数据库和 Java 的近30种锁
一文了解 数据库 和 Java 近30种锁本文入门性地介绍数据库(主要是 MySQL + InnoDB 这块) + Java 中近30个不同称呼的锁,事实上“锁”的思想通用性很强,无论是更早的数据库 / MySQL 领域,还是 稍晚 Java / Redis 等领域,会发现锁的思想本源其实是类同的,只是适应了各自不同的场景而已,所以要区分好 MySQL 和 Java 的锁,或者深入理解各类锁,还得具体切入到其场景所要解决的问题和折中优化办法里,这话题太深太广,本文只对各种锁做一个“浅尝辄止”的介绍。参考原创 2021-02-28 18:30:14 · 302 阅读 · 0 评论 -
数据表字段比较工具
Title: 数据表字段比较工具Date: 2017-11-28 21:14Category: 技术博客Modified: 2017-11-28 21:14Tags: 数据库Slug: DB-compareAuthors: Victor LvSummary: 在数据表中使用两种不同的方法(可通过某些特殊字段的数据区分)插入一条数据,比较这两条数据所有字段是否一致,同时可以设置白名单,在白名单中的字段允许不一致。一、需求描述: 在数据表中使用两种不同的方法(可通过某些特殊字段的数据区分)插原创 2021-01-30 11:20:12 · 1745 阅读 · 0 评论 -
mysql密码正确但无法登陆
可能是因为并没有打开mysql server服务就直接进入输密码页面了,因为自己手贱把mysql启动项关掉了。在workbench打开mysql server就好了原创 2016-05-10 10:59:44 · 3611 阅读 · 0 评论 -
mysql建表属性不能为关键字
mysql建表时属性不能为关键字,如check、use等关键字,否则报错,而且由于mysql只会报给你一个syntax error,所以如果不知道这点,会很难发现。原创 2016-05-06 13:59:47 · 692 阅读 · 0 评论 -
mysql 存中文乱码
今天碰到一个问题,mysql 数据库中某字段存了一串中文,我将它读取出来之后更新该挑记录某个 int 字段,然后再将数据存入数据库,发现原本应该原封不动取出再存入的中文字段变成乱码了。参照下述文章,修改mysql的配置文件(Windows版):my.ini ,添加几项字符配置,即可解决中文乱码问题。彻底解决mysql中文乱码...原创 2018-08-03 10:26:27 · 1129 阅读 · 0 评论