![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
mysql
文章平均质量分 53
CodeSerial
这个作者很懒,什么都没留下…
展开
-
MySQL 大量异常数据导致慢查询
MySQL 大量异常数据导致慢查询现象服务端生产环境报错org.springframework.dao.RecoverableDataAccessException: ### Error querying database. Cause: com.mysql.cj.jdbc.exceptions.CommunicationsException: Communications link failure The last packet successfully received from the serv原创 2021-11-17 20:25:33 · 796 阅读 · 0 评论 -
1241 - Operand should contain 1 column(s)
MYSQL 出现 1241 - Operand should contain 1 column(s)操作数应该包含一列错误原因:使用操作符出现问题例如=后面应该只能跟一列status_code = (1,2,3) 而不是status_code in (1,2,3)或者in出现问题in (select a,b from table_c)in后面应该只跟一列字段...原创 2021-07-06 11:24:40 · 2025 阅读 · 0 评论 -
MYSQL 索引优化
SQL优化被驱动表(大表)会用到索引left join在优化关联查询,只有被驱动表建立索引才有效,LEFT JOIN 小表驱动大表 左表驱动右表,因此在右表构建索引生效,而在左表构建则不生效,即使左表用到了索引扫描的行数依旧未变inner join 自动选择小结果集作为驱动表,如果两表都构建索引,且数据量一样,默认使用右表索引,如果削减右表数据量使左表作为大表此时 索引使用 左表,依旧使用大表上构建的索引# 测试SQLselect id,status_code from event_p原创 2021-03-12 18:50:41 · 103 阅读 · 0 评论 -
mysql 索引 using temporary场景
底层结构B+Tree和B-TreeB-Tree 数据与记录放在一起,中间节点存储数据,B+Tree中间节点只存储索引不存储数据,具体数据都在底层B-Tree 读取速度不稳定,越接近顶层速度越快,B+Tree读取时间稳定,数据都放在底层。由于上述特性B+Tree有如下优势:由于中间节点不存放数据,所以同样层数,B+Tree存储的索引更多容纳的数据量更多叶子节点连在一起方便范围查询聚簇索引:数据存储方式,为数据顺序存储在磁盘innodb支持,由于聚簇索引只能选取一个主要因素来排序因原创 2021-03-10 20:15:15 · 944 阅读 · 1 评论 -
数据库树形结构存储方法的选择
树形结构存储方法的选择简单的方法跟踪多级回复构成的树形分支:parent_id一开始的思路使用parent_id跟踪分支使用先找出所有节点,按照一定顺序整合成树形结构缺陷:在深度过深时仅用parent_id需要执行很多次SQL才能获取给定主题的所有数据每天的数据变动可能非常大,每访问一次整合一次过于浪费时间且不切实际目标:一个更好的存储多级结构及简单高效获取一个完整分支的方法分层存储合查询树形结构举例:组织架构图、线程化讨论解决方案邻接表依赖父节点构成的邻接表,由paren原创 2021-02-04 17:31:27 · 3903 阅读 · 1 评论 -
数据库存储的多叉树遍历
多叉树遍历针对数据库仅由PID存储父子结构的情况递归遍历数据库全量取出数据根据pid找出第一批节点递归组装剩下节点遍历根节点,找到根节点的下一层节点深度优先遍历public List<Node> compositeChildren(Integer pid,List<Node> allNodes){ List<Node> children = new ArrayList<>(); // 找到下一层的子节点 allNod原创 2021-02-04 17:26:16 · 467 阅读 · 0 评论 -
mysql一列多值多属性设计-乱穿马路
乱穿马路需求:每个产品都可能有多个联系人简单方案:将单值存储改为逗号分隔存储多值常用逗号分隔的列表来避免在多对多关系中创建交叉表,这是一种反模式,称为乱穿马路(Jaywalking),因为可以避免十字路口目标:存储多值属性如何在一列中存储一系列相关数据的集合一个账号对应多个产品每个产品对应一个联系人但每个产品可能对应多个联系人反模式:格式化的逗号分隔列表查询指定账号的产品查询异常困难,不能再用等号不得不借助模式匹配困难出错且无法带来性能的优势查询指定产品的账号多表连接也不原创 2020-12-25 19:52:54 · 981 阅读 · 0 评论 -
数据库事务原子性、一致性是怎样实现的?
数据库事务原子性、一致性是怎样实现的?atomicity/consistency数据库的一致性依赖于其他三种特性:原子性,隔离性,持久性原子性用于保证事务中的语句要么全部执行要么全部不执行隔离性用于保证多事务并发处理下事务处理顺序与结果的保证隔离性的处理分为四个级别read uncommit tedread committedrepeatable readserializable原子性如何保证atomicityinnodb使用undo log回滚日志,记录事务操作以便回滚i原创 2020-10-02 10:25:28 · 3206 阅读 · 0 评论