mysql
Hc-Z
知道的越多,不知道的就越多
展开
-
MySQL的for update使用(行级锁)
在默认的MySQL查询操作是不添加锁的。在需要先读再写入的事务里,会出现读的数据被其他事务所更改,从而导致错误。这时可以在select语句后面添加for update达到锁的效果,但是for update默认是锁表的,这样会对性能有损耗,那么要怎样才能解决这个问题呢?直接使用for update事务A查询结果此时事务B查询可以看出此时使用for update会对整表进行锁表操作...原创 2019-11-09 10:43:20 · 3571 阅读 · 0 评论 -
MySQL的MVCC机制
MySQL的MVCC机制原创 2019-10-06 09:33:29 · 184 阅读 · 0 评论 -
当前读和快照读
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...原创 2019-08-01 11:35:04 · 2184 阅读 · 0 评论 -
mysql-binlog-connector-java无法监听到日志的解决办法 (Trying to restore lost connection to localhost:3306)
本地代码public class BinlogServiceTest { public static void main(String[] args) throws IOException { BinaryLogClient client = new BinaryLogClient( "localhost", ...原创 2019-07-17 10:44:19 · 2384 阅读 · 2 评论 -
Mysql binlog日志学习(what?作用,格式)
一、binlog是什么Mysql Binlog是二进制格式的日志文件,但是不能把binlog文件等同于OS系统某目录下的具体文件,这是狭隘的。 Binlog是用来记录Mysql内部对数据库的改动(只记录对数据的修改操作),主要用于数据库的主从复制以及增量恢复。binlog是Mysql sever层维护的一种二进制日志,与innodb引擎中的redo/undo log是完全不同的日志;其主要是用...原创 2019-07-12 16:07:11 · 263 阅读 · 0 评论 -
windows 开启mysql的binlog日志
一、查看binlog日志是否开启show global variables like ‘log_bin’;如果返回的是 log_bin | OFF 那么就是没有开启,ON 则是已经开启,我这里已经开启了。二、设置binlog开启找到my.ini文件,添加log_bin= 存放binlog日志的位置binlog_format = ROW 设置binl...原创 2019-07-16 09:27:57 · 2317 阅读 · 0 评论 -
Mysql优化之GROUP BY语句优化
一、首先看Group By创建临时表的情况,因为有临时表的存在所以索引失效。如果GROUP BY 的列没有索引,产生临时表如果GROUP BY时,SELECT的列不止GROUP BY列一个,并且GROUP BY的列不是主键 ,产生临时表如果GROUP BY的列有索引,ORDER BY的列没索引.产生临时表如果GROUP BY的列和ORDER BY的列不一样,即使都有索引也会产生临时表如...原创 2019-06-27 14:47:19 · 8583 阅读 · 0 评论 -
java面试题(2019)
1.Redis的数据结构有哪些?怎么使用的?String——字符串Hash——字典List——列表Set——集合Sorted Set——有序集合2.jvm的内存是如何划分的,各自的存储什么内容第一块:PC寄存器PC寄存器是用于存储每个线程下一步将执行的JVM指令,如该方法为native的,则PC寄存器中不存储任何信息。第二块:JVM栈JVM栈是线程私有的,每个线程创建的同...原创 2019-05-23 16:52:31 · 1881 阅读 · 0 评论 -
MySQL两种存储引擎: MyISAM和InnoDB 简单总结
MyISAM是MySQL的默认数据库引擎(5.5版之前),由早期的ISAM(Indexed Sequential Access Method:有索引的顺序访问方法)所改良。虽然性能极佳,但却有一个缺点:不支持事务处理(transaction)。不过,在这几年的发展下,MySQL也导入了InnoDB(另一种数据库引擎),以强化参考完整性与并发违规处理机制,后来就逐渐取代MyISAM。InnoDB,...转载 2019-05-23 10:01:49 · 96 阅读 · 0 评论 -
假设对testid有更新则插入一条新记录,那么怎么查询出testid最后的状态(分组查询)
假设对testid有更新则插入一条新记录,那么怎么查询出testid最后的状态下面的表里的数据,只插入了一部分做模拟 可以看到testId为1的数据有3条,而我们则需要拿出其中最后更新的那条,那么该怎么拿呢?首先将表通过testid分组,查询出最后的时间SELECT *,MAX(time) lasttime FROM a GROUP BY testid ;可以看到查询出来的数据多了一个字段叫las原创 2017-09-30 10:19:23 · 260 阅读 · 0 评论