MySQL
文章平均质量分 75
Gan_1314
这个作者很懒,什么都没留下…
展开
-
MySQL为什么不建议使用DELETE 删除数据?
在工作当中执行数据库删除的时候一定要慎重再慎重,建议每次进行数据删除的使用最好数据表的备份工作,这样就会大大减少你删除跑路的几率。很多时候不要过于相信自己的动手能力,老虎还有打盹的时候,万一手滑了呢。尽可能养成好的数据库运维习惯,这样会让自己少跌跟头,你的事业才会更加顺利。原文。原创 2023-09-06 16:21:15 · 430 阅读 · 0 评论 -
MySQL 中的 distinct 和 group by 的区别
group by和distinct都能使用索引,效率相同。distinct效率高于group by。原因是distinct和group by都会进行分组操作,但group by可能会进行排序,触发filesort,导致sql执行效率低下。原创 2023-05-08 12:21:47 · 1615 阅读 · 1 评论 -
MySQL查询排序Order By原理分析
日常开发中,我们经常会使用到order by,但是很多人不清除它的原理以及优化方法。原创 2023-03-29 19:16:53 · 750 阅读 · 0 评论 -
MySQL的四种事务隔离级别
隔离级别原创 2023-02-18 21:32:50 · 1604 阅读 · 1 评论 -
Linux安装MySQL
Linux安装MySQL原创 2022-08-06 14:04:49 · 191 阅读 · 0 评论 -
MySQL 前缀索引
所谓前缀索引说白了就是对文本的前几个字符建立索引(具体是几个字符在建立索引时指定),这样建立起来的索引更小,所以查询更快。原创 2022-07-21 17:26:59 · 321 阅读 · 0 评论 -
MySQL Varchar前缀索引的一个细节
也就是说,对于Innodb来说,redundant或者compact类型的行格式,默认最大前缀索引长度是767;在MySQL中,前缀索引的长度是有一定限制的。原创 2022-07-21 16:17:39 · 945 阅读 · 2 评论 -
MySQL插入数据insert ignore和replace into
MySQL中插入数据,如果插入的数据在表中已经存在(主键或者唯一键已存在),使用insertignore语法可以忽略插入重复的数据。如果业务逻辑需要插入重复数据时自动忽略,不妨试试MySQL的insert ignore功能。.........原创 2022-07-21 14:22:18 · 990 阅读 · 0 评论 -
深入理解 MySQL 执行过程及执行顺序
MySQL在我们的开发中基本每天都要面对的,作为开发中的数据的来源,MySQL承担者存储数据和读写数据的职责。因为学习和了解MySQL是至关重要的,那么当我们在客户端发起一个SQL到出现详细的查询数据,这其中究竟经历了什么样的过程?MySQL服务端是如何处理请求的,又是如何执行SQL语句的?本篇博客将来探讨这些问题。......原创 2022-07-19 17:58:33 · 242 阅读 · 0 评论 -
SQL优化方案
在应用开发的早期,数据量少,开发人员开发功能时更重视功能上的实现,随着生产数据的增长,很多SQL语句开始暴露出性能问题,对生产的影响也越来越大,有时可能这些有问题的SQL就是整个系统性能的瓶颈。...原创 2022-07-18 16:22:11 · 181 阅读 · 0 评论 -
根据经纬度计算两点之间的距离
在我们平时使用美团,饿了么等app进行订餐,或者使用猫眼进行订电影票的时候,都有一个距离的排序,表明该家店距离我们当前的位置,这种基于地理位置的服务,统一被称为LBS(LocationBasedService),而LBS的实现则是借助于GIS,WC(无线通信)等信息技术来实现。另外,还有一种方式是Vincenty’sformulae,该方式也是用于计算球体表面两点之间距离的方式,而它所基于的就是地球是扁球体的形状,因此这种方式比假设地球是球体的方式应该更加准确,但实现起来比较麻烦。.........原创 2022-07-15 11:16:48 · 11082 阅读 · 0 评论 -
根据经纬度查询距离并按距离进行排序
数据库有个表,存的地址及其经纬度,想要查询每个地址距当前位置(经纬度)的距离(单位米)并根据距离进行排序。原创 2022-07-15 10:42:01 · 1589 阅读 · 4 评论 -
MySQL慢查询:慢SQL定位、日志分析与优化方案
MySQL慢查询分析和优化原创 2022-07-14 14:01:35 · 295 阅读 · 0 评论 -
SQL语句优化的30种方法
SQL语句优化原创 2022-07-14 11:43:44 · 1448 阅读 · 0 评论 -
MySQL慢查询的12个原因
很多时候,我们的慢查询,都是因为没有加索引。如果没有加索引的话,会导致全表扫描的。因此,应考虑在where的条件列,建立索引,尽量避免全表扫描。原创 2022-07-13 15:14:37 · 2684 阅读 · 0 评论 -
SQL优化的N种方法
SQL优化原创 2022-07-12 16:30:45 · 233 阅读 · 0 评论 -
MySQL数据库设计规范(一)
数据库设计原创 2022-07-11 14:02:28 · 587 阅读 · 0 评论 -
MySQL8中的开窗函数
MySQL从8.0版本开始支持窗口函数了,窗口函数又名开窗函数,属于分析函数的一种。用于解决复杂报表统计需求的功能强大的函数。窗口函数用于计算基于组(GROUP BY)的某种聚合值,它和聚合函数的不同之处是:窗口函数可以在分组之后的返回多行结果,而聚合函数对于每个组只返回一行。开窗函数指定了分析函数工作的数据窗口大小,这个数据窗口大小可能会随着行的变化而变化。..................原创 2022-07-05 17:55:18 · 3827 阅读 · 3 评论 -
MySQL8窗口函数应用
怎么样得到各部门工资排名前N名员工列表?查找各部门每人工资占部门总工资的百分比?累计求和如何计算?对于这样的需求,使用传统的SQL实现起来比较困难。这类需求都有一个共同的特点,需要在单表中满足某些条件的结果集内部做一些函数操作,不是简单的表连接,也不是简单的聚合可以实现的,通常费了大半天时间写出来一堆长长的晦涩难懂的SQL,且性能低下,难以维护。要解决此类问题,最方便的就是使用窗口函数。MySQL从8.0开始支持窗口函数,这个功能在大多数据库中早已支持,有的也叫分析函数...............原创 2022-07-05 15:06:05 · 388 阅读 · 0 评论 -
MySQL递归查询的3种实现方式
MySQL递归查询的三种实现方式原创 2022-06-27 16:24:02 · 3241 阅读 · 4 评论 -
MySQL中符号@的作用
MySQL符号@的作用原创 2022-06-27 10:44:25 · 3155 阅读 · 2 评论 -
MySQL中find_in_set()函数用法详解
FIND_IN_SET(str,strlist),该函数的作用是查询字段(strlist) 中是否包含(str)的结果,返回结果为 null或记录 。假如字符串str在由N个子链组成的字符串列表strlist 中,则返回值的范围在 1 到 N 之间。 一个字符串列表就是一个由一些被 ‘,’ 符号分开的子链组成的字符串。如果第一个参数是一个常数字符串,而第二个是type SET列,则FIND_IN_SET() 函数被优化,使用比特计算。...原创 2022-06-27 09:24:51 · 16590 阅读 · 1 评论 -
MySQL查询一张表的数据插入另一张表
查询表A的数据插入表B原创 2022-06-24 21:27:27 · 566 阅读 · 0 评论 -
MySql 递归应用
MySQL递归WITH RECURSIVE原创 2022-06-24 15:00:08 · 508 阅读 · 0 评论 -
MySql 实现递归with recursive
实现递归 WITH RECURSIVE原创 2022-06-24 14:14:55 · 5352 阅读 · 7 评论 -
MySQL json数据类型应用
到目前为止,可能很多人会把 JSON 当作一个很大的字符串类型,从表面上来看,没有错。但本质上,JSON 是一种新的类型,有自己的存储格式,还能在每个对应的字段上创建索引,做特定的优化,这是传统字段无法实现的。JSON 类型的另一个好处是无须预定义字段,字段可以无限扩展。而传统关系型数据库的列都需预先定义,想要扩展需要执行 ALTER TABLE … ADD COLUMN … 这样比较重的操作。JSON 类型比较适合存储一些修改较少、相对静态的数据。.........原创 2022-06-23 11:44:08 · 611 阅读 · 0 评论 -
MySQL in、exists是否走索引
最近,有一个业务需求,给我一份数据 A ,把它在数据库 B 中存在,而又比 A 多出的部分算出来。由于数据比较杂乱,我这里简化模型。然后就会发现,我去,这不就是 not in ,not exists 嘛。那么问题来了,in, not in , exists , not exists 它们有什么区别,效率如何?曾经从网上听说,in 和 exists 不会走索引,那么事实真的是这样吗?带着疑问,我们研究下去。............原创 2022-06-22 16:03:03 · 3384 阅读 · 3 评论 -
MySQL join关联表查询时,查询字段前面加上表名更高效
join关联表查询时,查询字段前面加上表名更高效原创 2022-06-21 14:46:09 · 556 阅读 · 0 评论 -
MySQL with、union all语句
MySQL with、union all语句原创 2022-06-20 10:34:52 · 930 阅读 · 0 评论 -
php <>和!=的区别是什么?
和!=的区别原创 2022-06-17 09:52:32 · 378 阅读 · 0 评论 -
数据库ER图
数据库ER图的画法:1、找出实体(不能再分割的名词)并用‘长方体’表示2、找出实体的属性用‘椭圆’表示3、找出实体之间的关系,用‘菱形’联系:(1)1:1联系,A中一个实体与B中一个实体对应(2)1:n联系,A中一个实体与B中多个实体对应,而B中一个实体与A中 一个实体对应(3)m:n联系,A中一个实体与B中多个实体对应,B中一个实体与A中多个实体对应ER图转换为关系模型:1、实体转换为一个关系模型2、实体的属性就是关系的属性,实体的码就是关系的码3、实体间联系的转换:(1)1:1原创 2021-09-12 23:44:38 · 8753 阅读 · 0 评论 -
查看mysql存储过程
查看全部存储过程:show procedure status;查看某个数据库全部存储过程:show procedure status where db='db_name';查看某个存储过程详情:show create procedure pro_name;原创 2021-08-25 09:36:06 · 1994 阅读 · 0 评论 -
mysql中的内置函数
mysql中的内置函数1、数学函数2、字符串函数3、日期和时间函数4、条件判断函数5、系统信息函数6、加密和压缩函数7、聚合函数8、格式或类型转化函数mysql内置函数列表可以从mysql官方文档查询,这里仅分类简单介绍一些可能会用到的函数。1、数学函数abs(x)pi()mod(x,y)sqrt(x)ceil(x) 或者 ceiling(x)rand(),rand(N):返回0-...转载 2019-11-14 23:02:28 · 105 阅读 · 0 评论