Mysql
文章平均质量分 62
漠然&&
将与大家分享我在Java编程领域积累的丰富经验和最新技术见解,让我们一起在Java编程的道路上携手前行,相互学习,共同成为更优秀的程序员!在这个过程中,我们可以一起探讨问题、交流心得,相信一定会收获满满。期待与大家共同成长!
展开
-
深入理解 Union 和 Union All 的区别及优化技巧
在结果集方面,Union 和 Union All 的主要区别在于:Union 会去除重复的记录,而 Union All 不会。也就是说,如果student表、teacher表和doctor表中存在相同的数据,使用 Union 时,这些重复的数据只会显示一次;例如,在查询student、teacher和doctor时,我们要确保选择的字段是相同的,否则可能会出现数据对不齐的情况。需要注意的是,索引的使用要遵循最左前缀原则,即在进行联合查询时,要确保查询条件中使用了索引的最左列。这样,查询性能得到了提升。原创 2023-12-22 22:07:18 · 995 阅读 · 0 评论 -
数据量很大的情况下,分页查询的优化方案
嗨,大家好,欢迎来到公众号,我是漠然。在数据量很大的情况下,分页查询往往会导致查询速度变慢,影响用户体验。作为一Java工程师,我认为可以从以下几个方面来优化分页查询。原创 2023-12-17 21:26:56 · 781 阅读 · 0 评论 -
Delete、Truncate、Drop的区别有哪些,该如何选择
Delete、Truncate、Drop的区别有哪些,该如何选择?嗨,大家好,欢迎来到公众号,我是漠然。我们经常需要处理数据库的操作,其中delete、truncate、drop是三种常用的数据删除方式。虽然它们都可以用来删除数据,但是它们之间存在一些重要的区别。在这篇文章中,我将详细解释这三种方式的区别,并提供一些选择建议。原创 2023-12-16 21:33:16 · 81 阅读 · 0 评论 -
深入解析MySQL中内连接、外连接的区别及实践应用
在数据库查询中,连接是一种常用的操作,用于从两个或多个表中获取数据。本文将详细介绍MySQL中的内连接、外连接的概念、区别以及实践应用,帮助大家更好地理解这一技术。原创 2023-12-14 21:13:45 · 340 阅读 · 0 评论 -
在高并发情况下,如何做到安全的修改同一行数据
要安全的修改同一行数据,就要保证一个线程在修改时其它线程无法更新这行记录。一般有悲观锁和乐观锁两种方案~原创 2023-05-12 14:27:13 · 1426 阅读 · 0 评论 -
聚集索引与非聚集索引的区别
需要注意的是,InnoDB里面只能存在一个聚集索引,原因很简单,如果存在多个聚集索引,那么意味着这个表里面的数据存在多个副本,造成磁盘空间的浪费,以及数据维护的困难。由于在 InnoDB 引擎里面,一张表的数据对应的物理文件本身就是按照 B+树来组织的一种索引结构,而聚集索引就是按照每张表的主键来构建一颗 B+树,然后叶子节点里面存储了这个表的每一行数据记录。所以基于 InnoDB 这样的特性,简单来说,聚集索引就是基于主键创建的索引,除了主键索引以外的其他索引,称为非聚集索引,也叫做二级索引。原创 2023-05-09 14:16:54 · 138 阅读 · 0 评论 -
数据库索引的原理,为什么要用 B+树,为什么不用二 叉树?
总体来说,我认为技术方案的选型,更多的要根据具体的业务场景来决定,并不一定是说B+树就是最好的选择,就像MongoDB里面采用B树结构,本质上来说,其实是关系型数据库和非关系型数据库的差异。原创 2023-05-08 11:42:17 · 1118 阅读 · 1 评论 -
InnoDB 与MyISAM 的区别
MyISAM和InnoDB都是Mysql里面的两个存储引擎。在Mysql里面,存储引擎是可以自己扩展的,它的本质其实是定义数据存储的方式以及数据读取的实现逻辑。不同存储引擎本身的特性,使得我们可以针对性的选择合适的引擎来实现不同的业务场景。从而获得更好的性能。在Mysql 5.5之前,默认的存储引擎是MyISAM,从5.5以后,InnoDB就作为了默认的存储引擎。在实际应用开发中,我们基本上都是采用InnoDB引擎。原创 2023-05-06 17:18:45 · 725 阅读 · 0 评论 -
如何进行MySQL的性能优化?
MySQL的性能优化主要在于对SQL执行的优化,因为慢的SQL执行会带来不好的用户体验,所以我们要关注SQL的执行时间,比如有些没有创建索引的列我们要创建索引.不合理的联表查询我们要简化或者规避.比如,在我以前的一个项目中,我的SQL没有索引执行,所以平均执行都需要很多的时间.后面我加上了索引就好多了.原创 2023-05-06 10:52:07 · 268 阅读 · 0 评论 -
MySQL遇到过死锁问题吗,你是如何解决的?
MySQL遇到过死锁问题吗,你是如何解决的?原创 2023-05-05 17:35:31 · 711 阅读 · 0 评论 -
mysql 优化整理
1.mysql 优化查询过程中数据访问访问数据太多导致查询性能下降确定用用程序是否在检索大量超过需要的数据,可能是太多行或者列确认MySQL服务器是否在分析大量不必要的数据行避免犯如下SQL语句错误查询不需要的数据。解决办法:使用limit 解决多表关联返回全部的列。解决办法:指定列名总是返回全部列。 解决办法:避免使用 select *重复查询相同的数据。 解决办法:可以缓存数据,下次直接读取缓存是否扫描额外的记录。解决办法: 使用explain进行分析,如果发现查询需原创 2022-02-25 17:08:42 · 378 阅读 · 0 评论 -
MySql 大数据查询优化方案和超大分页的处理方法
MySql 大数据查询优化方案优化shema、sql语句+索引第二加缓存、memcached、Redis主从读复制、读写分离垂直拆分,根据模块耦合度,将一个大的系统分为多个小系统,也就是分布式系统水平切分,针对数据量大的表,这一步是最麻烦的,最能考验技术水平要选择一个合理的shardingkey 为了有好的查询效率,表结构也要改动,做一定的冗余,应用也要改动。sql 中尽量带shardingkey,将数据定位到限定的表上去查,而不是扫描全部的表;MySql 超大分页的处理原创 2022-02-23 23:14:12 · 2830 阅读 · 2 评论 -
mysql 查询值为null的数据: is null 的使用
mysql在开发过程中遇到的问题整理:查询id字段为空的数据:select * from temp where id is null;查询id字段不为空的数据:select * from temp where id is not null;...原创 2018-12-27 14:08:40 · 1670 阅读 · 0 评论 -
Mysql定时任务job实现案例
现在的项目业务需要用到mysql的job。因为之前接触过oracle job。现在整理一下MySQL得job。#查看当前是否已开启事件调度器show variables like 'event_scheduler';#要想保证能够执行event事件,就必须保证定时器是开启状态,默认为关闭状态set global event_scheduler =1;#或者set GLOBAL ev...原创 2018-11-30 11:31:05 · 733 阅读 · 0 评论 -
mysql case 用法
前台列表需要展示数据类型,需要在查询数据的时候进行处理,用到mysql 中的case 方法。oracle 可以使用decode函数进行处理。mysql中的decode是解密函数,DECODE(crypt_str,pswd_str)可以使用字符串pswd_str来为crypt_str解密,其中crypt_str是通过加密函数ENCODE(str,pswd_str)加密的,注意字符串pswd_...原创 2018-10-29 17:40:54 · 183 阅读 · 0 评论 -
MySql中 where IN 中多个参数查询
mysql查询语句where条件in正常情况需要查询的语句:select *from temp where id in ('1','2','3','4','5')在实际过程中发现一直查不出数据,实际上能够查出数据,弄得一直很郁闷,找不出原因。通过各终尝试,最后在项目中通过断点找出原因。在进行查询时in中自动添加了单引号,如:select *from temp where id in ...原创 2018-10-11 13:44:44 · 38871 阅读 · 1 评论