mysql索引联合查询底层Nested-Loop Join和Block-Nested-Loop Join算法

首先介绍这两种算法之前,先介绍一个mysql关联表优化的原则,即小表驱动大表(这个后续会解释)1.Nested-Loop Join(NLJ): 我现在先创建两张表,emp_a里面有5条数据,emp_b里面有40条数据(数据生成太麻烦了,有兴趣的可以生成多一点的数据去试验一下),name字段设索引,age字段不设索引对这两张表做关联查询查看执行计划 我们会发现mysql会先扫描emp_b表,并且是全表扫描。来稍微解释一下,当你两表关联查询的时候,关联字段是索...
分类: 企业开发 发布时间: 08-08 13:31 阅读次数: 0

学习mysql的第5天

数据操作2、删格式:delete from 表名 where 条件;示例:delete from student where id=4;注意:没有条件是全部删除,慎用!3、改格式:update 表名 set 列1=值1, 列2=值2, … where 条件;示例:update student set age=16 where id=7;注意:没有条件是全部的列修改,慎用!4、查格式:select * from 表名;示例:select * from student;说明:查询表
分类: 企业开发 发布时间: 08-08 13:31 阅读次数: 0

SQL-explain

什么是explain?使用explain关键字可以模拟优化器执行SQL查询语句,从而了解MYSQL是如何处理SQL语句explain的作用我们使用explain关键字可以知道以下内容:表的读取顺序数据读取操作的操作类型哪些索引被使用哪些索引被实际使用表之间的引用每张表有多少行被优化器查询如何使用explainexplain + SQL语句explain字段解释idselect_typetablepartitionstypepossible_keyskeyke
分类: 企业开发 发布时间: 08-08 13:31 阅读次数: 0

看了就会写的Cron表达式

一、Cron表达式主要有两种格式(每种软件可能不一样):(1)秒 分 小时 日期 月份 星期几(2)秒 分 小时 日期 月份 星期几 年份二、各自字段允许的字符及值范围(1)秒(0~59)、分(0~59)、小时(0~23)、月份(1~12)、年份(可选字段),这五个字段允许 , - * / 四个字符。(2)日期(1~31,需考虑月份的天数),这个字段允许,- * ? / L W C 八个字符。(3)星期允许,这个字段允许 - * ? / L C # 八个字符。...
分类: 企业开发 发布时间: 08-08 13:31 阅读次数: 0

MongoDB优化索引、分析索引和选择索引规则

MongoDB优化索引基本特点基础语法简单练习准备数据创建普通索引创建复合索引创建唯一索引分析索引选择规则基本特点建立索引的目的是加快对表中记录的查找或排序。为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间(因为索引也要随之变动)。数据库索引就是为了提高表的搜索效率而对某些字段中的值建立的目录。创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。第三
分类: 企业开发 发布时间: 08-08 13:31 阅读次数: 0

常见函数,子查询,分页查询,DML语言。

常见函数:1.字符函数:作用函数结果转小写LOWER(‘SQL Course’)sql course转大写UPPER(‘SQL Course’)SQL COURSE拼接CONCAT(‘Hello’, ‘World’)HelloWorld截取SUBSTR(‘HelloWorld’,1,5)Hello长度LENGTH(‘HelloWorld’)10字符出现索引值INSTR(‘HelloWorld’, ‘W’)6字符截取后半段
分类: 企业开发 发布时间: 08-08 13:31 阅读次数: 0

ORACLE报错 ORA-28001: the password has expired 解决方法

前不久连Oracle数据库时报错了,报错如下:ORA-28001: the password has expired百度后才知道:原来密码过期了,Oracle11G在创建用户时密码过期限制是180天(即6个月),如果超过180天用户密码未做修改则该用户无法登录。这个问题网上看着回答挺头痛的,因为写的不是很规范。于是把网上文章总结了下,总共为6步第一步:打开cmd窗口第二步:输入:sqlplus /nolog第三步:输入:Conn /as sysdba;第四步:输入:SE
分类: 企业开发 发布时间: 08-08 13:31 阅读次数: 0

基于Oracle 指定数据行数查询

基于Oracle 指定数据行数查询适用于报表场景下,数据记录不足但是界面需要展示多于记录数的数据条目;比如:需要展示15条记录,不足行用空行补充。具体示例如下:-- 正常查询的数据WITH TDATA AS ( SELECT 11 A,22 B,33 C FROM DUAL UNION ALL SELECT 21 A,22 B,23 C FROM DUAL ) SELECT ROWNUM RN, M.* FROM (SELECT * F
分类: 企业开发 发布时间: 08-08 13:31 阅读次数: 0

Mybatis sql语句查询数据返回指定字段

在mybatis中如果返回对象集合的话,会把对象中的所有字段都返回,如果表中字段很多而我只需要部分字段,我在这里有两种解决方案:1.第一种方法就是重新定义一个新的类,在里面只存放要返回的字段这种方法我不推荐,不太实用2.第二种方法就是在返回时resultType返回类型定义为直接返回map,同样的返回值定义为map需要用List<Map<Object, Object>>来接收<select id=selectGoodsDetails resultType=map
分类: 企业开发 发布时间: 08-08 13:31 阅读次数: 0

mysql 综合练习(一)

-- 创建部门表DROP TABLE IF EXISTS dept; CREATE TABLE dept( -- 部门编号 deptno int PRIMARY KEY, -- 部门名称 dname VARCHAR(14), -- 部门所在地 loc VARCHAR(13) );-- 向部门表插入数据INSERT INTO dept VALUES (10,ACCOUNTING,NEW YORK);INSERT INTO dept V
分类: 企业开发 发布时间: 08-08 13:31 阅读次数: 0

阿里架构师深度剖析:微服务接口鉴权限流背后的数据结构和算法

本文已收录GitHub,更有互联网大厂面试真题,面试攻略,高效学习资料等微服务是最近几年才兴起的概念。简单点讲,就是把复杂的大应用,解耦拆分成几个小的应用。这样做的好处有很多。比如,这样有利于团队组织架构的拆分,毕竟团队越大协作的难度越大;再比如,每个应用都可以独立运维,独立扩容,独立上线,各个应用之间互不影响。不用像原来那样,一个小功能上线,整个大应用都要重新发布。不过,有利就有弊。大应用拆分成
分类: 编程语言 发布时间: 08-08 13:31 阅读次数: 0

攻防世界-wp-新手区-MISC-3-give_you_flag

题目描述:菜狗找到了文件中的彩蛋很开心,给菜猫发了个表情包题目思路:把动图保存下来,将每帧分开,看到地50帧有个二维码样子的东西二维码缺少三个小方块,而这些小方块被称为定位图案,用于标记二维码矩形的大小,用三个定位图案可以标识并确定一个二维码矩形的位置和方向。题目附件:4b0799f9a4d649f09a882b6b1130bb70.gif解题过程:1、小龙人数完钞票会展示二维码,使用stegsolve等工具查看帧数得到二维码。2、使用工具ps手动画上定位符便可获得完整二维码,扫描获得f
分类: 其他 发布时间: 08-08 13:21 阅读次数: 0

Ubuntu16.04 Server版安装及docker安装

ubuntu server版本的及docker安装和一些初始化设置
分类: 企业开发 发布时间: 08-08 13:01 阅读次数: 0

Infortrend携手西部数据,高性能存储CS/GS融合创新智能教育新时代

Infortrend应生态合作伙伴西部数据邀请,参与6月18日北京京仪大酒店举办融合创新教育巡展。双方强强联手,展示先进存储技术,旨在当下“技术+教育”深度融合的背景下,助力打破教育信息化发展局限,提升学校信息化水平的同时,也为后期校园持续发展提供笃实可靠的IT基础架构。Infortrend普安科技存储领导品牌,成立27年以来,配合教育局信息化建设指导方针,结合校院俱体需求,搭建了多种应用平台IT
分类: 企业开发 发布时间: 08-08 12:41 阅读次数: 0

大型网站的缓存设计Guava+redis实现多级缓存

文章内容输出来源:拉勾教育Java高薪训练营;应用场景当缓存服务器重启或者大量缓存集中在某一个时间段失效,这样在失效的时候,也会给后端系统带来很大压力。突然间大量的key失效了或redis重启,大量访问数据库,数据库崩溃,这时候就需要设置一个本地缓存作为二级缓存来解决这个问题。本地缓存的应用场景:对性能有非常高的要求不经常变化占用内存不大有访问整个集合的需求数据允许不时时一致实现原理数据从服务层读取,然后放到本地缓存中(Guava),如果出现超时或读取为空,则返回原来本地缓存的数.
分类: 其他 发布时间: 08-08 12:01 阅读次数: 0

阿里云引领云原生进化 | 云原生生态周报 Vol. 60

云原生一周生态要闻总览。
分类: 企业开发 发布时间: 08-08 12:01 阅读次数: 0

指针,函数,取地址

intARR(int*a,int*b){intc=0;c=*a;*a=*b;*b=c;return0;}intmain(){intnum1=110;intnum2=20;printf("%d\n",num1);printf("%d\n",num2);intnum3=ARR(&num1,&num2);printf("%d\n",num1);printf("%d\n",num2);re
分类: 编程语言 发布时间: 08-08 11:41 阅读次数: 0

epoll函数实现多路IO转接

文章目录一、实现思路1、服务器2、客户端二、详细代码1、服务器2、客户端三、测试一、实现思路1、服务器1)socket()2)set_sockopt() 端口复用。3)bind() 绑定服务器。4)listen() 设置监听上限。5)epoll_create() 创建epoll模型,efd指向红黑树跟结点。7)epoll_ctl() //将lfd及对应的结构体挂到树上,efd可以找到该树。8)循环监听:epoll_wait() //epoll为server阻塞监听事件,ep为struct
分类: 其他 发布时间: 08-08 11:31 阅读次数: 0

epoll两种触发模式

文章目录一、epoll的两种触发模式1.LT水平触发(默认)2.ET边沿触发二、详细代码1、服务器2、客户端三、测试效果![在这里插入图片描述](https://img-blog.csdnimg.cn/20200805131447439.png)一、epoll的两种触发模式1.LT水平触发(默认)LT(level triggered):LT是缺省的工作方式,并且同时支持block和no-block socket。在这种做法中,内核告诉你一个文件描述符是否就绪了,然后你可以对这个就绪的fd进行IO操作。
分类: 其他 发布时间: 08-08 11:31 阅读次数: 0

写在开学第一天

2018年9月10日,2018年的教师节,也是我们开学的第一天,上午在北建大大兴校区的体育馆举办了新生入学典礼,据说是第一次在大兴校区举办,很是荣幸见证了北建大的成长与发展。开学典礼无非就是各种讲话,虽然很是困倦还是很激动的听完了,入学的仪式感,大抵如此吧。其中的讲话中,有两位老师给我的印象最为深刻,一位是78级的校友,至今毕业40年,一直为北京市的城市建设发展做着贡献,在那位老师姐的口中说出..._写在新学其第一天
分类: 其他 发布时间: 08-08 11:31 阅读次数: 0