mysql
文章平均质量分 70
C18298182575
跳出舒适区
展开
-
查询多级菜单名称sql实现方案
如果少于4级呢,查询结果null,通过函数concat_ws,可自动过滤为null的数据。默认只查询最多四级菜单,此方案弊端,多于四级无法查询到。现在知道最里层菜单ID,想查看上级菜单名称。原创 2023-06-16 16:12:17 · 1105 阅读 · 0 评论 -
mysql order by 索引问题综合分析
一,文章1总结:0,索引 与 查询条件 与 排序字段关系,Using filesort出现场景1.联合索引,最左匹配原则,不仅查询条件需要遵循,排序也需要遵循,查询+排序组合也要遵循2.extra 避免出现filesort,使用index排序3.关于排序算法,内存排序 还是 磁盘排序,缓冲区大小4.结论中,举例了,最左匹配的成功与否样例二,文章2此文主要说明以下问题1.为什么order by要加索引,从以下几个方面说明explan 是否使用索引key,扫描行数rows,extra优化。原创 2023-06-02 18:01:01 · 2553 阅读 · 0 评论 -
15个必知的Mysql索引失效场景,别再踩坑了!
也就是说,当Mysql发现通过索引扫描的行记录数超过全表的10%-30%时,优化器可能会放弃走索引,自动变成全表扫描。此时,索引失效的原因与第三种情况一样,都是因为数据库要先进行全表扫描,获得数据之后再进行截取、计算,导致索引索引失效。的含义为:表示索引使用的字节数,根据这个值可以判断索引的使用情况,特别是在组合索引的时候,判断该索引有多少部分被使用到非常重要。当然,还有其他一些是否走索引的规则,这与索引的类型是B-tree索引还是位图索引也有关系,就不再详细展开。的条件再走一次索引反而是浪费了。转载 2023-06-15 13:25:12 · 2745 阅读 · 1 评论 -
数据库的主键生成策略,你知道几种?
针对主库单点,如果有多个Master库,则每个Master库设置的起始数字不一样,步长一样,可以是Master的个数。比如:Master1 生成的是 1,4,7,10,Master2生成的是2, 5, 8, 11 Master3生成的是 3, 6, 9, 12。其核心思想是:使用41bit作为毫秒数,10bit作为机器的ID(5个bit是数据中心,5个bit的机器ID),12bit作为毫秒内的流水号(意味着每个节点在每毫秒可以产生 4096 个 ID),最后还有一个符号位,永远是0。转载 2023-06-15 16:14:34 · 1044 阅读 · 0 评论 -
MySQL中生成唯一值性质的工具UUID()和自增序列
l 第五组值是一个IEE 802的节点标识值,它是空间上唯一的。假如主机没有网卡,或者我们不知道如何在某系统下获得机器地址,则空间唯一性就不能得到保证,即使这杨,出现重复值的机率还是非常小的。l 多次调用或执行得到的后2组值相同,若把mysqld服务器关闭,重新启动之后,会发现第四组的组与未重启前的值发生变化,然后一直不变化,只要重新启动mysqld服务就会发生变化。UUID()函数产生的值,并不适合作为InnoDB引擎表的主键,至于详细的原因,请阅读文章。l 前三组值是时间戳换算过来的;转载 2023-06-15 15:36:58 · 705 阅读 · 0 评论 -
mysql语句:group by后显示using filesort之解决方法
如果你希望使用语句的时候避免出现, 那么只需在其后追加语句即可, 即:1、默认情况下,mysql在使用group by之后,会产生临时表,而后进行排序(此处排序默认是快排),这会消耗大量的性能。2、本质是3、默认会按照column分组, 然后根据column升序排列;则默认按照分组,然后根据标的主键升序排列。转载 2023-06-15 15:30:03 · 470 阅读 · 0 评论 -
记录一次数据库异常,事物未回滚
事物未回滚原创 2023-02-23 14:20:03 · 122 阅读 · 0 评论 -
SQL之UNION ALL用法前置条件——使用NULL凑齐字段
union union all NULL凑字段转载 2022-11-29 17:16:08 · 836 阅读 · 0 评论 -
我说MySQL里每张表不要超过100w数据
MVCC原创 2022-11-25 15:00:14 · 138 阅读 · 0 评论 -
1亿条数据批量插入 MySQL,哪种方式最快?
大批量数据写入操作转载 2022-11-25 14:36:23 · 425 阅读 · 0 评论 -
数据库新增了一条数据,但是查询不到,是代码玄学么?
写入无法查询问题转载 2022-11-14 16:49:53 · 1341 阅读 · 0 评论 -
mysql四种隔离级别-测试
数据库隔离级别测试转载 2022-11-14 16:43:49 · 152 阅读 · 0 评论 -
Spring的事务原理分析、与mysql的事务关系
spring事物 mysql事物转载 2022-11-14 16:20:19 · 354 阅读 · 0 评论 -
表数据过大,查询数据总量太慢怎么办
mysql查询大表数据总量的方案原创 2022-11-02 13:12:44 · 624 阅读 · 0 评论 -
sql查询优化or篇
or查询优化转载 2022-10-18 16:19:10 · 1475 阅读 · 0 评论 -
为啥有些limit那么慢?
limit查询慢转载 2022-10-18 16:17:59 · 259 阅读 · 0 评论 -
史上最详细的mysql底层和explan type和type中index和all的区别
explain type index 与 all转载 2022-10-18 14:37:39 · 636 阅读 · 0 评论 -
mysql 字段值分布很少的字段要不要加索引
mysql 字段值分布很少的字段要不要加索引转载 2022-09-22 09:41:51 · 948 阅读 · 0 评论 -
MySQL批量更新死锁案例分析(转载)
死锁转载 2022-06-27 15:25:10 · 993 阅读 · 0 评论 -
数据库技术:MySQL 加锁和死锁解析
死锁转载 2022-06-27 15:11:23 · 463 阅读 · 0 评论 -
MySQL造成更新死锁及插入死锁的几种常见原因
死锁转载 2022-06-27 14:46:13 · 2736 阅读 · 0 评论 -
mysql的update更新及delete删表记录where不带索引字段导致死锁
死锁转载 2022-06-27 14:39:42 · 1651 阅读 · 0 评论 -
记一次mysql数据库死锁实验
死锁转载 2022-06-27 14:23:38 · 198 阅读 · 0 评论 -
mysql死锁的例子_MySQL数据库的一次死锁实例分析
mysql 死锁转载 2022-06-27 14:17:58 · 1257 阅读 · 0 评论 -
sql优化之Explain sql详解
explan转载 2022-06-27 10:46:45 · 1723 阅读 · 0 评论 -
记录一次mysql死锁
mysql死锁原创 2022-06-27 08:51:17 · 1690 阅读 · 3 评论 -
mysql写入后,无法读取到数据问题
一,MySQL同一事务中先更新在查询,结果与数据库中不一致问题问题背景:java 代码在同一个事务中先执行update 再执行select 发现select 的数据是update之后的结果,此时事务还没有提交, 但直接查询数据库,数据库的数据还没有发生变更.问题结论:在数据库事务是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行,这是一种机制,用以维护数据库的完整性。在你这个事务单元中存在两个操作,一个是update,一个是select;你前面的update执行成功了原创 2022-05-31 09:33:33 · 839 阅读 · 1 评论 -
mysql如何获取慢SQL,以及慢查询的解决方式
浅谈MySQL中优化sql语句查询常用的30种方法1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描。3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如:select id from t where num is null可以在num上设置默认值0,确保表中num列...原创 2022-01-06 17:04:36 · 1538 阅读 · 0 评论 -
MySQL百万级数据分页查询及优化
点击蓝色“程序猿DD”关注我哟加个“星标”,不忘签到哦来源:https://www.cnblogs.com/geningchao关注我,回复口令获取可获取独家整理的学习资料:-001:领取《Spring Boot基础教程》-002:领取《Spring Cloud基础教程》- 003:领取《Java开发规范1.5》(最新版)方法1: 直接使用数据库提供的SQL语句 语句样式:MySQL中,可用如下方法: SELECT * FROM 表名称 LIM...转载 2021-12-30 23:00:24 · 202 阅读 · 0 评论 -
为什么开发人员必须要了解数据库锁?
1.锁?1.1何为锁锁在现实中的意义为:封闭的器物,以钥匙或暗码开启。在计算机中的锁一般用来管理对共享资源的并发访问,比如我们java同学熟悉的Lock,synchronized等都是我们常见的锁。当然在我们的数据库中也有锁用来控制资源的并发访问,这也是数据库和文件系统的区别之一。1.2为什么要懂数据库锁?通常来说对于一般的开发人员,在使用数据库的时候一般懂点DQL(select),DML(insert,update,delete)就够了。小明是一个刚刚毕业在互联网公司工作的Java开发转载 2021-12-17 12:45:56 · 148 阅读 · 0 评论 -
MySQL索引原理及慢查询优化
背景MySQL凭借着出色的性能、低廉的成本、丰富的资源,已经成为绝大多数互联网公司的首选关系型数据库。虽然性能出色,但所谓“好马配好鞍”,如何能够更好的使用它,已经成为开发工程师的必修课,我们经常会从职位描述上看到诸如“精通MySQL”、“SQL语句优化”、“了解数据库原理”等要求。我们知道一般的应用系统,读写比例在10:1左右,而且插入操作和一般的更新操作很少出现性能问题,遇到最多的,也是最容易出问题的,还是一些复杂的查询操作,所以查询语句的优化显然是重中之重。本人从2013年7月份起,一直在美团转载 2021-11-02 14:36:21 · 87 阅读 · 0 评论 -
docker 安装mysql
Docker 安装 MySQL | 菜鸟教程docker 安装 mysql 8 版本# docker 中下载 mysqldocker pull mysql:latest#启动docker run -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql#进入容器docker exec -it mysql bash#登录mysqlmysql -u root -p到这里就成功了,提示输入密码即可,下面.原创 2021-10-26 17:46:40 · 96 阅读 · 0 评论 -
mysql 查询若干小时之内的数据
(第一种方法)SELECT * FROM表名 WHERE 字段名>NOW()-INTERVAL 2 HOUR;(第二种方法)SELECT * FROM表名 WHERE字段名 > DATE_SUB(NOW(), INTERVAL 60 MINUTE);经过测试发现一个问题:我想查询12小时以内数据,把12小时作为参数传(counts),结果无法查询到结果。直接写入12查询可以正常查询。不知道为什么? created_time >=(NOW() - inte...原创 2020-10-20 15:23:31 · 1630 阅读 · 0 评论 -
关于定时任务中批量更新方案思考
可参考:https://www.cnblogs.com/ShaYeBlog/p/5762553.htmlhttps://blog.csdn.net/li396864285/article/details/53607536一,场景:定时任务需要从中间表同步数据到业务表,然后更新中间表状态为已同步。二,处理方案:【分批处理】每次查询500条数据,对500条数据批量写入业务表,批...原创 2020-04-29 17:31:44 · 2091 阅读 · 1 评论 -
mysql多条件批量查询,且数据量大分批查询
一,查询入参@Datapublic class ReqSupplierOrderCycleVO implements Serializable { @ApiModelProperty("供应商编码") private String supplierCode; @ApiModelProperty("地点编码") private String locatio...原创 2020-04-28 09:45:05 · 12035 阅读 · 0 评论 -
FIND_IN_SET使用场景
场景:表中有一个字段数据是以这种形式存储,想查询包含01的数据代码 List<ParameterPurchaseLimitConf> selectAllEffectiveModuleConfineProductOrgInfos(@Param("moduleConfine") String moduleConfine); <select id="sele...原创 2020-04-28 09:23:33 · 264 阅读 · 0 评论 -
Windows10下解压版mysql-8.0.11安装教程
下载教程https://blog.csdn.net/qq_36172505/article/details/80980945当前在windos系统下操作,且下载的是解压版,直接解压下载压缩包先创建一个my.ini文件,放到msyql bin目录下且不用创建data文件,可能导致报错,其他文件可能说创建data文件,其实不用内容如下:需要注意:D:\\tools\\mysql...原创 2019-11-23 00:07:58 · 206 阅读 · 0 评论 -
mysql中exists 和 in的用法你还真不知道
exists与in的查询方式In:是把外表和内表做Hash 连接,exists:是对外表作loop 循环,每次loop循环再对内表进行查询典型的连接类型共有3种:排序- 合并连接(Sort Merge Join (SMJ) )嵌套循环(Nested Loops (NL) )哈希连接(Hash Join)效率分析比如:A表(主查询,即:外表)和B...转载 2019-10-17 09:48:47 · 410 阅读 · 1 评论 -
HAVING
业务场景:查询哪些拉动重复组单了拉动单与拣货单应该1:1因为重复操作会导致重复:拉动:拣货单 1:nSELECT p.bill_no FROM wms_pick_ticket p GROUP BY bill_no HAVING COUNT(*)>1 ; ...原创 2019-01-08 15:07:13 · 159 阅读 · 0 评论 -
Mysql数据库更新操作导致死锁问题
本人遇到的问题:根据ids对数据批量更新数据状态,在生产上会出现这样一个问题,偶尔有些数据更新失败,下面是找的跟我的问题比较类似的文档:最近维护项目发现的一个有意思的问题,写篇文章记录一下。 项目的问题是数据库发生了死锁,在盘查的所有的业务代码后我认为是“单条”批量update语句需要锁表而引发的问题项目是基于spring的webservice,采用mysql数据库innodb引擎,问题...转载 2019-01-25 13:57:08 · 1246 阅读 · 0 评论