Maven,MySQL优化,git

插网线上网
https://baijiahao.baidu.com/s?id=1669575178786936197&wfr=spider&for=pc
1.Maven
在这里插入图片描述在这里插入图片描述
引入自己的项目
引入的前提是先把自己的项目install了,因为他不在中央仓库
在这里插入图片描述这三个数值也就是自己的坐标。

在这里插入图片描述在同pom.xml里后面的覆盖前面的
在这里插入图片描述target文件夹下存储的是install的jar包

在这里插入图片描述
在这里插入图片描述更新的时候更新roo(idea自动标识)即可,编译的顺序按照依赖的顺序
依赖继承管理
在这里插入图片描述
在这里插入图片描述子项目引入父(管理)项目
引入之后子项目可以不指定版本默认找父项目的版本(并不是子不用写,只是不用写版本)

在这里插入图片描述
在这里插入图片描述
除了自定义属性还有很多内置属性可以读取

在这里插入图片描述在这里插入图片描述管理property
在这里插入图片描述在这里插入图片描述在这里插入图片描述
2.MySQL 优化
安装
https://blog.csdn.net/qq_36582604/article/details/80526287
mysql -u root -p
注意mysql结尾加;
调优可以调节config(my.cnf)文件的参数
sql语句加载从from开始
mysql自带优化器
mysql是插件可拔插的设计模式
在这里插入图片描述
插网线上网
https://baijiahao.baidu.com/s?id=1669575178786936197&wfr=spider&for=pc
1.Maven
在这里插入图片描述在这里插入图片描述
引入自己的项目
引入的前提是先把自己的项目install了,因为他不在中央仓库
在这里插入图片描述这三个数值也就是自己的坐标。

在这里插入图片描述在同pom.xml里后面的覆盖前面的
在这里插入图片描述target文件夹下存储的是install的jar包

在这里插入图片描述
在这里插入图片描述更新的时候更新roo(idea自动标识)即可,编译的顺序按照依赖的顺序
依赖继承管理
在这里插入图片描述
在这里插入图片描述子项目引入父(管理)项目
引入之后子项目可以不指定版本默认找父项目的版本(并不是子不用写,只是不用写版本)

在这里插入图片描述
在这里插入图片描述
除了自定义属性还有很多内置属性可以读取

在这里插入图片描述在这里插入图片描述管理property
在这里插入图片描述在这里插入图片描述在这里插入图片描述
2.MySQL 优化
安装
https://blog.csdn.net/qq_36582604/article/details/80526287
mysql -u root -p
注意mysql结尾加;
调优可以调节config(my.cnf)文件的参数
sql语句加载从from开始
mysql自带优化器
mysql是插件可拔插的设计模式
在这里插入图片描述

为什么CSDN无法截图了?
在这里插入图片描述

在这里插入图片描述
A要独有B就是NULL

在这里插入图片描述
MYSQL不支持full out join
代替方法使用union,union 自带去重

在这里插入图片描述
索引是一种排好序的快速查找的数据结构
索引有两大功能:查找和排序
Delete并不是真正的物理删除,而是改变了一个标志位来保持数据的连续性。
频繁删改的字段不适合建索引,因为二叉树的增改很麻烦。
索引失效可以通过explain的key字段查询。

在这里插入图片描述
多建立复合索引而非单值索引,因为可以通过explain分析复合索引的表现来进行删除更改判断用哪个索引更好

真正使用的时候可能只用一个

在这里插入图片描述
索引很难建立,比如一开始我们认为用户买电脑跟在意CPU,内存,并对之建立了索引但是实际情况确是跟在意显卡,磁盘空间。需要重新建立索引。索引经常建了删删了建。

建立了多个索引之后mysql会评估,并不一定都会使用到。

在这里插入图片描述
B+树是一种多路查找树,引入了二叉搜索树的理念,左小右大,类似于二分查找数据都在叶子节点且叶子节点按照指针排序相连。

在这里插入图片描述
7是指和order by的需求一致时会加速
8.分组的前提是排序

在这里插入图片描述
1.数据量太少(300w)
3数据的差异率不大,比如性别(冲突大)

在这里插入图片描述

在这里插入图片描述
在sql前加explain即可
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
永远是id大的优先级高,平级顺序执行
在这里插入图片描述
加载表顺序t1,3,2
在这里插入图片描述
Type表示访问类型,all是最差的表示全表扫描
在这里插入图片描述
在这里插入图片描述
Const:唯一索引(主键索引)只用查询一次
优化sql语句改变type也是一种数据库优化技术
比如系统常量system最快,常量更快,等于比大于小于更快,in比or更快,主键唯一更快。
在这里插入图片描述
在这里插入图片描述
有可能possible keys是null,但是keys不是
覆盖索引:查询字段和索引顺序一致

在这里插入图片描述
Ref:索引中用于判断所使用到的值,比如 idx = 1,1就是ref是const
在这里插入图片描述
Extra:附加信息
在这里插入图片描述
没有使用自己的索引而是外部自定文件内排序,并不是说出现了内部排序就没有使用索引,有可能是两者都使用了(比如前半段用索引,后半段用内部排序)
出现这种索引失效的情况可能是出现了order by的顺序和数量和索引顺序数量不一致。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
比如建立的索引是col1,col2,但是查询使用col2,就会失效。
临时表性能十分损失性能
Using index
在这里插入图片描述
在这里插入图片描述
范围(大于小于)以后的索引会失效

左连接加右表,反之亦然。因为左连接左边都要一定会全盘扫描。

索引失效
在这里插入图片描述
1.并不是说所有的select *就会失效,有where 和 idx也会用到索引。改点要与2相结合的看
2.NameAgePos索引,匹配时必须有name字段,否则索引失效,扩展来说必须从左至右依次来不能跳过去(跳过去可以使用但是是部分索引使用)。
4 范围(大于小于in like)后面的索引全部失效(范围的索引用于排序而不是查找)所以应当把范围查询放到最后
8 Like查询在右边写百分号效率高,解决两端%的方式是覆盖索引
Id天生自带主键索引
9 mysql查不到会进行类型转换
And 表示并列mysql优化器会自动排序优化,但是如果and后面跟着范围则范围后的全失效
不按照索引的顺序查找产生的filesort内部排序是性能下降的主要原因
在这里插入图片描述
4:排序算法所需要的的参数
在这里插入图片描述
用小表驱动大表,因为大表的连接更耗时
在这里插入图片描述
Exist只返回true和false,select 1是根据查询到有多少行存在就输出多少个1。
这些优化结果最本质都是B+树数据结构的特性结果
在这里插入图片描述
在这里插入图片描述
Mysql函数
在这里插入图片描述
$$的意思是$$结束sql,默认是;结束
改过之后后面的sql都需要$$结束
Call fun() 即可调用

Show profile
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
其中复制到临时表非常花时间

上锁
在这里插入图片描述
加了读锁之后只能操作锁了的表,不能操作别的自己没加锁的表(认为你锁了表就有尽快操作不能做别的)
写锁是别的读都不可以,会被阻塞
在这里插入图片描述
脏读是读修改,幻读是读新增
Mysql默认隔离级别是可重复读,会有幻读
Mysql默认自动提交意味着每次写;后都会提交
分布式系统必须在强一致性(多个集群数据一致)与高可用之间做trade off
行锁只锁一行
无索引会导致行锁升级为表锁,innodb默认行锁
在这里插入图片描述
间隙锁是指用事务设计范围时mysql锁定了一片范围,导致即便是插入原来没有的数据也会被锁。比如id 1,3,4,5,id < 6,要update id=2也会被阻塞

开启行锁
在这里插入图片描述
Innodb是为高并发设计的
在这里插入图片描述
修改了配置由于缓存等因素可能不生效,最好重启重连
在这里插入图片描述
在这里插入图片描述
Mysql主从复制
在这里插入图片描述
数据库也存在数据库中

3.git(idea版)
Git是一个分布式版本控制工具性能优于SVN等
在这里插入图片描述

在这里插入图片描述

本地库还可以再push到远程库
工作区:磁盘
生成历史版本就删不掉了
Gitlab是基于局域网的不开源的远程库

在这里插入图片描述

可以直接git bash here 把windows当做linux来使用
Git init 初始化本地库,获得管理权限
Git status 查看当前库的状态
红色的表示在工作区
绿色在暂存区
提交
$ git commit -m “test” ks.txt
返回结果:
[master (root-commit) 8638f9b]
8638f9b是版本号
Git log查看当前提交的版本信息
改版本
Git reflog选择版本号
Git reset –hard 版本号
Git 并不是在本地存储了很多副本,而是通过日志与指针进行版本变换。

在这里插入图片描述

在这里插入图片描述
在不同的分支看文件会得到不同的结果
在这里插入图片描述
clone是本地没有repository时,将远程repository整个下载过来。pull是本地有repository时,将远程repository里新的commit数据(如有的话)下载过来,并且与本地代码merge。

Fork是针对远程库而言的
跨团队协作
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
Github远程库起别名
git remote add git https://github.com/yy2016417/git.git
本地库提交github
git push git master
把push改为pull即可拉取
拉取库改为clone即可
Git版本升级git update,不用指定目录自动覆盖更新
Idea绿色文件代表在暂存区
蓝色代表被追踪但是未修改
黑色代表已经提交

Gitee与github都是远程仓库,用做存储而已,归git调控
不要随意checkout版本(check的都是远程的)会直接把本地的搞没
本地记得要及时更新,改版本前注意在本地备份
Idea可以全部可视化的push,pull,init等等

在这里插入图片描述
CE是社区免费版,EE是企业旗舰版

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值