MySQL
文章平均质量分 56
第二颗大白菜
每天写点什么,不是为了得到一些什么,也不是向谁证明一些什么,更不是为了存在感,而是让自己知道每天都做了些什么。
展开
-
关于线上查询脚本无法使用索引问题解决分析(mongodb)
问题背景,查询脚本无法使用索引,导致全表扫描,直接mongodb服务器节点cpu打满,导致生产其他用户查询卡死。直接分析查询条件or 关键字查询,有个注意事项 就是索引命中使用的问题,按照上图中分析,我们再到mysql上试验一下:(更好理解了)就是说 or 必须所有关键字都要有索引,并且都需要最优索引,才会有最好的结果合并...原创 2021-03-31 12:40:54 · 443 阅读 · 0 评论 -
explain 关键字分析(第一次发)【图片版】
原创 2021-02-10 17:36:15 · 205 阅读 · 0 评论 -
explain 关键字分析(第一次发)
为啥用图片呢?因为怕大家直接复制粘贴,希望大家好记性不如烂笔头!!原创 2021-02-04 16:07:55 · 393 阅读 · 0 评论 -
Mysql 主从复制
Mysql 主从复制1.主节点每次将数据库的数据改变记录存储为二进制日志形式持久化。2.分片节点将主节点中二进制日志数据文件拷贝至自己的中继日志文件中。3.分片节点将重做中继日志中的所有执行事件,将数据库中的数据同步改变到直接的当前分片的节点中的数据库中。注意:主从复制基本上是异步操作,且是串行化操作,解决了并发问题。不会影响主节点中性能。通常架构为一主一从,一主多从。可以这么说吧,主从,可以解决数据库高可用问题,解决灾难性问题,但是随之读写分离的操作产生,我们的缓存一致..原创 2021-01-24 21:26:15 · 132 阅读 · 1 评论 -
mysql 锁机制
mysql 锁机制1.从数据库上的操作来说:分为读写锁读锁(也称之为共享锁):针对同一份数据,多个读操作可以同时进行而不会互相影响。写锁(也称之为排他锁):当前时刻,只能有一个线程进行写入操作,也就是当前线程没有释放,它就会阻断其他的线程写入。(死锁产生原因之一:互斥)2.从数据库上的粒度来说:分为表锁、行锁表锁:偏向MyISAM存储引擎,开销小,加锁快;无死锁;锁粒度大,发生锁冲突的概率最高,并发最低行锁:偏向InngoDB存储引擎,开销大,加锁慢,会出现死锁情况;锁粒度小,.原创 2021-01-24 21:12:32 · 236 阅读 · 0 评论 -
ACID概述
事务是由一组SQL语句组成的逻辑处理单元,事务具有以下4个属性,通常简称为事务的ACID属性;(附加知识,redis中的事务不具有原子性)ACID属性:原子性(Atomicity):事务是一个原子操作单元,其对数据的修改,要么全都执行,要不就是全部都不执行。一致性(Consistent):数据都必须保持一致状态。这就是说所有相关的数据规则都是必须应用于事务的修改,这样才能保持数据的完整性;事务结束时,所有的内部数据结构(如B树索引或者双向链表)也都是必须是正确的。隔离性(Isolation)原创 2021-01-24 19:08:52 · 382 阅读 · 0 评论 -
mysql为什么需要优化
mysql为什么需要优化今天用一篇文章讲讲为什么sql需要优化,天天讲怎么优化,那么到底为啥需要优化呢?不知道各位同学有没有深思过这个问题。今天我们一起来思考一下。先贴上Mysql的官方的一段话当使用MyISAM存储引擎时,MySQL使用极快速的表锁定,以便允许多次读或一次写。使用该存储引擎的最大问题出现在同一个表中进行混合稳定数据流更新与慢速选择。如果这只是某些表的问题,你可以使用另一个存储引擎。参见第15章:存储引擎和表类型。MySQL可以使用事务表和非事务表。为了更容易..原创 2021-01-24 11:20:02 · 669 阅读 · 0 评论 -
MySQL server version for the right syntax to use near '"desc" VARCHAR(512)
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '"desc" VARCHAR(512) COMMENT '简介' , down_url VARCHAR(32) ...原创 2020-04-09 17:32:35 · 3534 阅读 · 0 评论 -
使用mysql查询:报错java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.Long
使用spring jpa 查询long类型数据,但是报上述错误。直接使用List<BigInteger>接受结果集,然后通过BigInteger.longValue()比较Long数据类型就可以了。当然网上有很多方案,比如升级mysql依赖的版本,但是本项目的mysql jar版本挺高的。那么我就依着错误提示的改动了。...原创 2020-02-19 22:04:45 · 4233 阅读 · 1 评论 -
数据库什么时候建立索引合适呢??
嗯??听到这个问题的时候,是不是有些茫然?我连什么是索引都不是很清晰明了,你给我讲什么建立索引的时机?!!!是的,很多同学只是有所耳闻,并且可能就是只知道索引可以优化sql效率,但是至于其所以然并不清晰。那么我们现在先谈谈什么是索引。对于MySQL而言,官方对索引给出的定义是:索引(index)是帮助MySQL高效获取数据的数据结构。这个时候,我们可以了解到索引就是一种...原创 2019-10-21 19:41:49 · 6681 阅读 · 0 评论 -
解决异常【MySQLTransactionRollbackException: Lock wait timeout exceeded; try restarting transaction】
错误日志:org.springframework.dao.CannotAcquireLockException: ### Error updating database. Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException: Lock wait timeout exceeded; try res...原创 2019-10-15 11:09:18 · 19027 阅读 · 1 评论