
Mysql
文章平均质量分 87
大白给小白讲故事
大白给小白讲技术那点事,目前专注于Java领域(朋友,你好像有点东西)
展开
-
一文说清MySQL索引数据结构
小A匆匆忙忙的赶回宿舍,因为晚上他要给女神整理讲解MySQL中索引数据结构资料。一边整理一边忍住不笑了起来,等小美看到这篇文章不得爱上自己。当上小美男朋友,从此踏上人生巅峰不是梦(该考虑一下孩子叫啥了)。原创 2023-01-02 17:24:28 · 1536 阅读 · 0 评论 -
面试怎么回答MySQL索引问题,看这里
小A在宿舍里跟哥们开五黑打排位中,突然收到女神小美的消息:“小A,我今天面试碰到索引问题了,我没回答好”。小A顾不上游戏抓紧回复到:“到你宿舍某某咖啡店吧,我帮你一起看下”。小A抓紧时间换了衣服, 就狂奔而去。电脑上传来了哥们的骂声:”去你大爷的小A,老子晋级赛呢!“。小A心想,不好意思,在女神面前,兄弟如浮云。原创 2022-12-15 19:37:06 · 1784 阅读 · 0 评论 -
小美,这篇查询SQL执行流程你一定要看
宿舍里,小A兴致满满的将刚写好的查询SQL执行流程文章通过微信发给小美,回想起昨晚透过窗户意外看到小美哭的梨花带雨,问过她室友才知道竟然是因为面试被SQL执行流程给难住了。心里暗自下决心:作为小美背后的男人,我绝不允许!原创 2022-12-13 12:33:41 · 1750 阅读 · 0 评论 -
MySQL修改字段值为指定集合的随机一个
UPDATE testSET nums = (CASE floor( 1 + rand( ) * 4 ) WHEN 1 THEN '1' WHEN 2 THEN '2' WHEN 3 THEN '3' ELSE '4' END )...原创 2019-12-10 19:44:58 · 1180 阅读 · 0 评论 -
MySQL多表关联查询优化
背景最近在对运营报表导出进行优化,总结了一些多表关联查询优化的点记录一下。避免临时表通过 Explain 分析 SQL 语句,尽量不要使用到临时表。GROUP BY (Explain具体详解,可以看这篇博客)最容易造成使用临时表,GROUP BY 与临时表的关系 : 1. 如果GROUP BY 的列没有索引,产生临时表. 2. 如果GROUP BY时,SELECT的列不止GROUP...原创 2019-11-28 10:37:18 · 5831 阅读 · 0 评论 -
MySQL常见问题(一)
1、mysql默认不区分大小写,下面的SQL语句结果的等同的。select * from some_table where binary str='abc';select * from some_table where binary str='ABC';2、mysql索引注意事项b已存在索引,且是varchar类型:100万的表SELECT * from a where b=...原创 2019-05-01 18:01:48 · 213 阅读 · 0 评论 -
MySQL优化查询之B+树
树的话,无非就是前中后序遍历、二叉树、二叉搜索树、平衡二叉树,更高级一点的有红黑树、B树、B+树,字典树。树的查找性能取决于树的高度,让树尽可能平衡是为了降低树的高度。B树B树是一种多路搜索树,它的每个节点都可以拥有多于两个孩子节点。M路的B树最多拥有M个孩子节点,设计成多路是为了降低树的高度。B树一般使用于文件系统的索引,文件系统和数据库的索引都是存在硬盘上的。并且如果数据量大的...转载 2019-02-19 11:55:42 · 1104 阅读 · 0 评论 -
MySQL优化查询之深入浅出索引
建索引是我们在提高数据库查询性能、减低SQL执行时间的主要手段,但是怎么建立一个最适合的索引呢?我们来深入浅出索引分析一下我们都知道索引的作用是提高数据查询效率。 常见索引模型:哈希表、有序数组、搜索树哈希表原理:采用的是键值对的存储方式,哈希冲突的处理办法是采用链表。哈希表使用的场景:在只有等值查询的场景有序数组原理:按顺序存储。查询用二分法就可以快速查询,时间复杂度是:...原创 2019-02-19 11:34:48 · 208 阅读 · 0 评论 -
MySQL优化之LOAD DATA LOCAL INFILE实现大批量插入
如今mysql普遍的插入方式有如下两种:1、循环单条插入 <insert id="insert" parameterType="com.chargeProject.consumer.entity.Test"> insert into test (id, nums, name) values (#{id,jdbcType=INTEGER}, #{nums,jd...转载 2018-10-25 15:31:34 · 29050 阅读 · 11 评论 -
MySQL优化查询之explain参数解析
在 explain的帮助下,您就知道什么时候该给表添加索引,以使用索引来查找记录从而让select 运行更快。本文主要通过对explain参数解析,帮助进行更深入的SQL性能优化。explain参数说明id SELECT识别符。这是SELECT的查询序列号 select_type SELECT类型,可以为以下任何一种: SIMPLE:简单SELECT(不...转载 2018-09-20 17:13:27 · 559 阅读 · 0 评论 -
MySQL优化查询之慢查日志的使用
慢查日志的使用mysql数据库自带了对sql语句的日志查询,在慢查日志中,你可以设置慢查日志中所包含语句执行时间是多长时间以上的。凡是大于这个查询时间的都会记录到慢查日志中。mysql默认是不开启慢查日志的。需要我们手动进行设置。慢查日志的设置首先选定一个位置,新建一个日志文件这里用"mysql-show.sql"设置慢查日志的文件为刚建的。在dos窗口中登录mysql后,输入:...转载 2018-09-20 17:02:40 · 303 阅读 · 0 评论 -
MySQL大表优化方案
当MySQL单表记录数过大时,增删改查性能都会急剧下降,可以参考以下步骤来优化: 单表优化 除非单表数据未来会一直不断上涨,否则不要一开始就考虑拆分,拆分会带来逻辑、部署、运维的各种复杂度,一般以整型值为主的表在千万级以下,字符串为主的表在五百万以下是没有太大问题的。而事实上很多时候MySQL单表的性能依然有不少优化空间,甚至能正常支撑千万级以上的数据量: 字段 1...转载 2018-09-13 14:04:17 · 220 阅读 · 0 评论