自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 Java多线程高并发锁的学习

锁的分类:公平锁和非公平锁:公平锁:见之知意,对于每个申请锁的线程都是公平的,按照申请锁的顺序来获取进入锁内的权限。非公平锁:不按照顺序来获取锁,可能后申请的在先申请的线程之前获取锁,有可能会造成优先级混乱或者饥饿现象。synchronized就是一种非公平锁可重入锁如果一个线程在外层方法已经获取锁了,那么在内层方法也默认是已经获取锁,可避免死锁。独享锁和非独享锁同样见名知意,独享锁一次只能被一个线程所获取,可以执行锁内代码;共享锁就是一次可以被多个线程共享。其中,synchronized

2021-02-04 21:21:14 142

原创 慢查询分析

mysql默认是不开启慢查询日志的,如果不是为了优化,建议不要开启查看慢查询日志是否开启:开启慢查询日志:这种方法开启只是临时开启,不是永久开启的如果想要永久开启,就要在配置文件中设置看一下超过多长时间的查询才是慢查询:下面显示的10就是超过10秒被认为是慢查询语句设置慢查询的阈值时间:如果有查询时间超过3秒的语句,就会把日志信息导入到上面显示的日志文件中,就可以拿出来进行分析。对慢查询进行分析:...

2021-01-24 16:15:08 128

原创 查询优化的一点点总结

小表驱动大表:小的数据集驱动大的数据集:order by的几点注意:排序使用索引也是遵循最佳左前缀的Mysql有两种排序:文件排序和扫描有序索引排序,尽量避免文件排序,会导致查询非常的缓慢。尽量在索引列上排序。排序和索引可以使用同一个索引,尽量这么使用同时,在需要对不同字段进行排序的时候,尽量同升或者同降的排序,否则索引会失效几点注意:1.group by 实质是先排序再分组的,遵循索引键的最佳左前缀2.当无法使用索引列,增大max_length_for_sort_data参数的设置+增

2021-01-24 15:41:56 105

原创 SQL索引优化

索引失效:1.最佳左前缀法则:表中从左到右的列,如果在某几列建立了索引,则在查询的时候不能越过最左边的建立索引的列,否则索引失效;也不越过中间的建立索引的列,负责后面的索引也会失效。2.不在索引列上做任何操作,否则也会全表扫描3.将索引列用作范围查找的话,那么在此索引列之后的索引都会失效4.尽量少用 select *;如下所示,不使用select * ,Extra还额外用到了Index5.mysql在使用 !=或者<>时无法使用索引,会导致全表扫描6.is null,is

2021-01-23 21:31:49 329

原创 SQL的索引学习部分总结

索引索引是数据结构,可以帮助mysql高效获取数据。是排好序的快速查找数据结构。索引一般是以BTREE实现的,每个节点保存着索引键值,指向表中的物理数据。而且索引本身也很大,一般不会放在内存中。*- 优点:1.提高了数据检索的效率,降低数据库的IO成本;2.通过索引列对数据进行排序,降低数据排序的成本,降低了CPU的消耗。缺点:1.索引实际上也是一张表,保存了主键和索引字段,并指向实体表的记录,所以索引列占用空间较大;2.降低了更新表的速度,因为每个修改表都会更新索引表;3.优化耗时*索引的分

2021-01-18 21:10:44 200

原创 MySQL的引擎初识

首先,查看一下mysql的引擎可以看到,mysql默认使用的执行引擎是InnoDBInnoDB引擎的特点:支持主外键和事务是行锁,操作只锁定某一行,不对其他行有影响,所以适合高并发的操作缓存区不仅缓存索引也缓存真实数据,所以对内存要求较高,内存大小对性能有这决定性的影响在5.5版本之前,mysql的默认执行引擎是MyISAM,这也是比较常用的执行引擎MyISAM引擎的特点:不支持外键和事务不支持行锁,但是支持表锁,但是由于操作需要锁定整张表,所以不适合高并发场景优势是访问速度快,

2021-01-18 15:13:54 93

原创 SQL中的join操作总结

内连接:如图,使用inner join 执行内连接,on 后面接连接条件处理过程:表A的每一行,去遍历匹配表B的的所有行,如果遇到符合连接条件的,就把两行拼接在一起,相当于拉宽行。没有匹配到的则舍弃。两张表部分主次,相当于输出交集部分并拉宽表。外连接:外连接分为左外连接和右外连接;左外连接就是左边的表为主右边表为次,反之亦然。处理过程:处理过程与内连接处理过程类似,区别在于:如主表没有成功匹配到次表的行,那么这一行不会丢弃,而是会用null占位。结果集就是主表所有的行被拉宽,匹配到

2021-01-17 21:47:38 151

原创 java的try,finally的两点注意

一 在Java中使用try catch finally的异常处理,需要注意的是finally是最终都会执行的但是需要注意的是,在一种特殊情况下finally里的代码并不会执行正常执行情况:报了角标越界错误,finally的代码执行了。下面是没有执行的情况:执行了System.exit(int)语句就不会执行finally代码,因为已经退出执行了这里需要注意的是:System.exit(int)语句必须执行在报异常语句之前二 如果try代码里return了一个值,finally也ret

2021-01-15 10:52:46 165

原创 HiveQL:数据定义

hive中的数据库的基本概念和使用一、hive中数据库的基本概念1、hive中的数据库在概念上是表的目录或者命名空间。因为hive是基于hdfs的,hive的数据也是存储在hdfs中的。hive的数据库保存的是存储在hdfs中数据的元数据。2、hive会为每个数据库创建一个目录,表就是这个目录的子目录。二、数据库的使用1、location和describe关键字的使用①创建一个数据库②使用describe查看这个数据库的位置、描述、键值对属性等信息:可以看到这个数据库在hdfs中默认的存放位

2020-06-22 21:27:20 268

原创 hive的数据类型和文件格式

数据类型一、基本数据类型hive的基本数据类型无非还是数值型,字符型,时间戳。多了一个字节数组binary。这个binary数组是没有自字节数限制的,可以在记录中包含任意字节。1、数值型①整型tinyint:类似于Java中的byte,最多存储1字节的有符号数smalint:类似于Java中的short,最多存储2字节的有符号数int:类似于Java中的int,…4…bigint:类似于Java中的long,…8…2、布尔型boolean:与Java中的一样3、浮点型float:单精

2020-06-13 20:37:14 1819

原创 hive CLI的一些操作

从文件中执行hive查询可以将要执行的查询语句写在一个文件中:1、在控制面板执行2、在hive shell中用source命令来执行hiverc文件的使用hive -i 指定一个文件,当CLI启动后,会在提示符出现前先执行这个文件。如果没有指定,则hive会自动在HOME目录找到名为.hiverc的文件自动执行,一般会在这个文件中写进频繁执行的命令。在hive CLI中执行bash shell命令:前面加个!但是有所局限,不能执行输入操作和管道符以及文件名自动补全。在hive CLI中执行

2020-06-13 19:27:04 354

原创 hive的变量与属性

hive的变量与属性的学习

2020-06-13 17:05:50 1677

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除