李锋镝的博客 - LiFengdi.Com

  • 首页
  • 时间轴
  • 留言
  • 左邻右舍
  • 我的日常
  • 关于我
MySQL
技术

MySQL 中的 distinct 和 group by 哪个效率更高?

结论 先说大致的结论(完整结论在文末) 在语义相同,有索引的情况下:group by和distinct都能使用索引,效率相同。 在语义相同,无索引的情况下:distinct效率高于group by。原因是distinct 和 group by都会进行分组操作,但group by可能会进行排序,触发filesort,导致sql执行效率低下。 基于这个结论,你可能会问: 为什么在语义相同,有索引的情况下,group by和distinct效率相同? 在什么情况下,group by会进行排序操作? 带着这两个问题找答案。…

2023年2月16日 0条评论 504点热度 0人点赞 阅读全文
原创

MySQL深度分页

背景 mysql分页查询是我们常见的需求,但是随着页数的增加查询性能会逐渐下降,尤其是到深度分页的情况。我们可以把分页分为两个步骤: 定位偏移量 获取分页条数的数据 所以当数据较大页数较深时就涉及一次需要耗费较长时间的操作。所以mysql深度分页的问题该如何解决呢? 首先我们来看一个简单的查询: SELECT * FROM events WHERE date > '2010-01-01T00:00:00-00:00' AND event = 'editstart' OR…

2022年2月11日 0条评论 6505点热度 1人点赞 阅读全文
其他

Navicat Premium数据库账号密码解密

如果你想破解一个已经连接好的数据库密码,可以参考这个方法。 邮件查看已经连接好的数据库属性是这样的 但是密码是******谁也看不懂,博主也从网站上下载过一些星星查看器之类的东西,都无济于事。 接下来就是尝试导出这些连接属性,选择文件---->导出连接,勾选想要导出的数据库,导出.ncx后缀的文件 打开导出后的文件,本以为就能看到数据库密码,没想到竟然加密了!!!! 没办法,Google it ,后来发现GitHub上一个大神写了一个PHP,可以直接破解这个密码,一切成功的开始。https://github.…

2021年9月14日 2条评论 10908点热度 0人点赞 阅读全文
原创

数据库事务的隔离级别

数据库事务的隔离级别有4种,由低到高分别是:Read uncommitted、Read committed、Repeatable read、Serializable。事物的并发操作中可能出现脏读,不可重复读,幻读。 数据库事务隔离级别: 未授权读取级别(读未提交): 也称为读未提交(Read Uncommitted)。 以操作同一行数据为前提,读事务允许其他读事务和写事务,未提交的写事务禁止其他写事务(但允许其他读事务)。 此隔离级别可以防止更新丢失,但不能防止脏读、不可重复读、幻读。 此隔离级别可以通过“排他写锁…

2021年6月2日 0条评论 12682点热度 1人点赞 阅读全文
技术

MySQL分页排序时数据重复问题(MySQL优先队列)

背景 MySQL版本:5.7.18 问题 假设字段category无索引且有重复值,order by category 和limit组合使用的结果会和预期不符。 场景复现 表结构(复现问题,两个字段足够了~) CREATE TABLE `ratings` ( `id` int(11) NOT NULL AUTO_INCREMENT, `category` int(11) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB AUTO_INCREMENT=11 DEFAUL…

2021年5月29日 0条评论 13011点热度 1人点赞 阅读全文
技术

彻底搞懂mysql日志系统binlog,redolog,undolog

本文主要总结下重做日志(redo log)、回滚日志(undo log)、二进制日志(binlog)的概念。 redo log 是物理日志,undo log 和 binlog 是逻辑日志 binlog二进制日志是server层的无论MySQL用什么引擎,都会有的,主要是左主从复制,时间点恢复使用 redo log重做日志是InnoDB存储引擎层的,用来保证事务安全 undo log回滚日志保存了事务发生之前的数据的一个版本,可以用于回滚,同时可以提供多版本并发控制下的读(MVCC),也即非锁定读 crash-saf…

2021年5月19日 4条评论 13004点热度 1人点赞 阅读全文
原创

MySQL 的自增 ID 用完了,怎么办?

有一个奇怪的问题,假如MySQL 的自增 ID 用完了,怎么办? 这个知识点比较冷门,不过可以自己手动实践下。 首先,创建一个最简单的表,只包含一个自增id,并插入一条数据。 create table t0(id int unsigned auto_increment primary key) ; insert into t0 values(null); 通过show命令show create table t0;查看表情况 CREATE TABLE t0 ( id int(10) unsigned NOT NULL…

2021年3月30日 0条评论 14019点热度 0人点赞 阅读全文
技术

从SQL规范性检查、表结构索引检查着手分析如何优化SQL

SQL规范性检查 select检查 UDF用户自定义函数 SQL语句的select后面使用了自定义函数UDF,SQL返回多少行,那么UDF函数就会被调用多少次,这是非常影响性能的。 #getOrderNo是用户自定义一个函数用户来根据order_sn来获取订单编号 select id, payment_id, order_sn, getOrderNo(order_sn) from payment_transaction where status = 1 and create_time between '2020-1…

2021年3月3日 0条评论 14008点热度 0人点赞 阅读全文
技术

优化了MYSQL大量写入问题,老板奖励了1000块给我

问题。然而在大量写入数据场景该如何优化呢? 今天这里主要给大家介绍,在有大量写入的场景,进行优化的方案。 总的来说MYSQL数据库写入性能主要受限于数据库自身的配置,以及操作系统的性能,磁盘IO的性能。主要的优化手段包括以下几点: 1、调整数据库参数 (1) innodb_flush_log_at_trx_commit 默认为1,这是数据库的事务提交设置参数,可选值如下: 0: 日志缓冲每秒一次地被写到日志文件,并且对日志文件做到磁盘操作的刷新,但是在一个事务提交不做任何操作。 1:在每个事务提交时,日志缓冲被写到…

2021年2月19日 2条评论 14107点热度 0人点赞 阅读全文
原创

Python3 操作 MySQL 插入一条数据并返回主键 id

前提 Python3 代码实现 #!/usr/bin/env python3 # -*- coding: UTF-8 -*- import pymysql db = pymysql.connect(**db_conf) cursor = db.cursor() cursor.execute(sql) # 最后插入行的主键id print(cursor.lastrowid) # 最新插入行的主键id print(conn.insert_id()) conn.commit() 注意 使用 cursor.lastrowi…

2021年1月15日 0条评论 14559点热度 0人点赞 阅读全文
12
网站统计
  • 文章总数:307 篇
  • 评论总数:464 篇
  • 标签数量:226 个
  • 最后更新:2023年03月21日
  • 建站日期:2016年6月6日

试问岭南应不好,却道:此心安处是吾乡。

最新 热点 随机
最新 热点 随机
回忆是一条没有尽头的路 这样的日子什么时候才是个头 MySQL 中的 distinct 和 group by 哪个效率更高? 开工啦~ 今晚,回家过年! 图数据库选型:Neo4j、Janus、HugeGraph
看病难~取药难~~阳了...开工啦~RocketMQ的push消费方式实现详解国庆节过的也很累~~MybatisCodeHelperPro激活
优化了MYSQL大量写入问题,老板奖励了1000块给我 背影 - 朱自清 博客有logo啦 祝大家六一儿童节快乐~~~ RocketMQ的push消费方式实现详解 阳了...
最近评论
李锋镝 发布于 2 周前(03月10日) 已添加~欢迎回访喔
博客录(boke.lu) 发布于 2 周前(03月10日) 已添加贵站0.0 名称:博客录(boke.lu) 简介:boke.lu · 博客收录展示平台~ 链接...
李锋镝 发布于 3 周前(03月05日) 系统版本是win11吗?
HJQ 发布于 4 周前(02月28日) 同问,注册表都没有楼主说的值。
林羽凡 发布于 1 个月前(02月16日) 开工大吉。
友情链接
  • 志文工作室
  • 临窗旋墨
  • 旧时繁华
  • 城南旧事
  • 强仔博客
  • 林三随笔
  • 徐艺扬的博客
  • 云辰博客
  • 韩小韩博客
  • 知向前端
  • 阿誉的博客
  • 林羽凡
  • 情侣头像
  • 周良博客
  • 马内
  • 哥斯拉
  • LyShark - 孤风洗剑
  • 博客录
标签云

Your browser doesn't support the HTML5 CANVAS tag.

  • 设计模式
  • SpringBoot
  • 妹妹的画
  • Python
  • 微服务
  • Linux
  • SQL
  • 面试
  • IDEA
  • 文学
  • 重构
  • Zookeeper
  • 搜索
  • MySQL
  • Eclipse
  • ElasticSearch
  • 架构
  • Spring Cloud Gateway
  • Spring Cloud
  • Git
  • 散文
  • Spring
  • 数据库
  • 领域模型
  • https
  • 程序人生
  • SEO
  • JVM
  • Visual Studio
  • 教程
  • 分布式锁
  • K8s
  • Xshell
  • 锁
  • 面向对象
  • 日常
  • RocketMQ
  • UML
  • 多线程
  • 分布式
  • 高并发
  • 博客
  • MQ
  • JAVA
  • docker
  • 程序员
  • Redis
  • hbase
  • Excel
  • 文档

COPYRIGHT © 2022 lifengdi.com. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

豫ICP备16004681号-2