随笔分类 -  MySQL

摘要:避免使用SELECT *:只选择必要的列可以减少数据传输量和处理时间。 避免使用OR和NOT IN:使用OR和NOT IN会导致全表扫描,影响查询性能。 使用LIMIT分页:使用LIMIT分页可以避免一次性返回大量数据‍。 使用EXPLAIN查看执行计划:可以通过查看执行计划了解SQL的执行情况。 阅读全文
posted @ 2024-07-25 23:36 玩转大数据 阅读(47) 评论(0) 推荐(0)
摘要:一、什么是存储过程? MySQL 5.0 版本开始支持存储过程。 简单的说,存储过程就是一组SQL语句集,功能强大,可以实现一些比较复杂的逻辑功能,类似于JAVA语言中的方法; 存储过就是数据库 SQL 语言层面的代码封装与重用。 二、有哪些特性? 有输入输出参数,可以声明变量,有if/else, 阅读全文
posted @ 2023-12-07 11:03 玩转大数据 阅读(5015) 评论(0) 推荐(0)
摘要:索引失效的解决方案 在MySQL中,模糊查询肯定要使用LIKE关键字,然后再加 %,是代表前模糊还是后模糊。数据量小的情况下,不容易看出查询的效率,但是数据量达到百万级,千万级甚至更高的时候,查询的效率就很容易显现出来了。 项 索引是否失效 解决方法 col_name LIKE 'ABC%' 索引有 阅读全文
posted @ 2023-03-13 11:30 玩转大数据 阅读(2516) 评论(0) 推荐(0)
摘要:mysql统计一个数据库里所有表的数据量,最近在做统计想查找一个数据库里基本所有的表数据量,数据量少的通过select count再加起来也是可以的,不过表的数据有点多,不可能一个一个地查 在mysql里是可以查询information_schema.tables这张表的 SELECT table_ 阅读全文
posted @ 2023-01-09 16:21 玩转大数据 阅读(681) 评论(0) 推荐(0)
摘要:1、启动mysql server systemctl start mysqld #启动程序 systemctl enable mysqld #开机自运行 systemctl status mysqld #查看状态 2、查看初始密码 cat /var/log/mysqld.log|grep pass 阅读全文
posted @ 2022-11-21 10:10 玩转大数据 阅读(380) 评论(0) 推荐(0)
摘要:一、下载MySQL安装包 下载地址:https://downloads.mysql.com/archives/community/ 二、备份 mkdir /home/mysqlback mysqldump -u root -p --all-databases > /home/mysqlback/my 阅读全文
posted @ 2022-11-16 09:52 玩转大数据 阅读(2505) 评论(0) 推荐(0)
摘要:一、检查当前系统是否安装过Mysql rpm -qa|grep -i mysql 如果出现了上图的东西,则需要删除MySQL 1,删除相关应用 yum remove MySQL-client-5.5.40-1.linux2.6.x86_64 yum remove MySQL-server-5.5.4 阅读全文
posted @ 2022-11-08 10:39 玩转大数据 阅读(2058) 评论(0) 推荐(1)
摘要:1、mysql与oracle都是关系型数据库,Oracle是大型数据库,而MySQL是中小型数据库。但是MySQL是开源的,但是Oracle是收费的,而且比较贵。 mysql默认端口:3306,默认用户:root oracle默认端口:1521,默认用户:system 2、Oracle的内存占有量非 阅读全文
posted @ 2022-04-08 16:28 玩转大数据 阅读(2216) 评论(0) 推荐(1)
摘要:MySQL中没有Rank排名函数,当我们需要查询排名时,只能使用MySQL数据库中的基本查询语句来查询普通排名。尽管如此,可不要小瞧基础而简单的查询语句,我们可以利用其来达到Rank函数一样的高级排名效果。 在这里我用一个简单例子来实现排名的查询: 首先我们先创建一个我们需要进行高级排名查询的pla 阅读全文
posted @ 2022-04-01 18:01 玩转大数据 阅读(345) 评论(0) 推荐(0)
摘要:SQL: select * from table where id IN (3,6,9,1,2,5,8,7); 这样的情况取出来后,其实,id还是按1,2,3,4,5,6,7,8,9,排序的,但如果我们真要按IN里面的顺序排序怎么办?SQL能不能完成?是否需要取回来后再foreach一下?其实mys 阅读全文
posted @ 2022-03-22 09:35 玩转大数据 阅读(412) 评论(0) 推荐(0)
摘要:数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。 在使用left jion时,on和where条件的区别如下: 1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。 2、where条件是在临时表生成好后,再对 阅读全文
posted @ 2022-03-10 10:28 玩转大数据 阅读(238) 评论(0) 推荐(0)
摘要:下图为一张订单表(order1),现希望查找出至少连续3天下单的用户。 第一步:将订单表按UserId分组根据日期Date排序。 注:窗口函数row_number()mysql8.0及以上版本可用。 第二步:用日期Date减去对应的排序号Num,若日期是连续的,则相减的结果Datedif相等。 第三 阅读全文
posted @ 2022-02-23 22:33 玩转大数据 阅读(1482) 评论(0) 推荐(1)
摘要:1.索引作用 在索引列上,除了上面提到的有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查询效率。特别是当数据量非常大,查询涉及多个表时,使用索引往往能使查询速度加快成千上万倍。 例如,有3个未索引的表t1、t2、t3,分别只包含列c1、c2、c3,每个表分别含有1000行数据组成,指为 阅读全文
posted @ 2020-08-27 09:53 玩转大数据 阅读(754) 评论(0) 推荐(0)
摘要:示例:想要取出每个课程前3名的学生信息、课程id,成绩与对应课程内排名 创建student表: s_id为学生id,s_name为学生姓名,s_sex为性别 创建score表: s_id 为学生id,c_id为课程id,s_score为对应的成绩 #内嵌部分: set @rank:=0; selec 阅读全文
posted @ 2020-08-11 17:08 玩转大数据 阅读(458) 评论(0) 推荐(0)
摘要:Mysql 的存储引擎,myisam和innodb的区别。答: 1.MyISAM 是非事务的存储引擎,适合用于频繁查询的应用。表锁,不会出现死锁,适合小数据,小并发。 2.innodb是支持事务的存储引擎,合于插入和更新操作比较多的应用,设计合理的话是行锁(最大区别就在锁的级别上),适合大数据,大并 阅读全文
posted @ 2020-02-13 15:32 玩转大数据 阅读(257) 评论(0) 推荐(0)
摘要:SELECT * FROM emp ORDER BY sal DESC LIMIT 1 OFFSET 1 limit x offset y :表示从第y行开始查询(不包括第y行),查询出x条记录 阅读全文
posted @ 2019-11-21 19:58 玩转大数据 阅读(478) 评论(0) 推荐(0)
摘要:select (@i:=@i+1) i,emp.* from emp,(select @i:=0) it 按部门分组并按薪资总和从大到小排序求薪资总和第二高的部门名称和薪资总和: SELECT c.ename, c.s FROM ( SELECT ( @i := @i + 1 ) i, e.* FR 阅读全文
posted @ 2019-11-20 20:34 玩转大数据 阅读(5095) 评论(0) 推荐(1)