自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 浅析SQL中 in 与 exists 用法的区别及其各自执行流程、not in/not exists区别、sql优化应该如何选择in还是exists

其实我们区分 in 和 exists 主要是造成了驱动顺序的改变(这是性能变化的关键),如果是exists,那么以外层表为驱动表,先被访问,如果是IN,那么先执行子查询,所以我们会以驱动表的快速返回为目标,那么就会考虑到索引及结果集的关系了 ,另外IN时不对NULL进行处理。以上查询使用了exists语句,exists()会执行A.length次,它并不缓存exists()结果集,因为exists()结果集的内容并不重要,重要的是结果集中是否有记录,如果有则返回true,没有则返回false。

2023-08-12 17:08:49 506 1

原创 Flink算子扩缩容过程中的状态迁移情况

Flink中的状态分为键值分区状态、算子列表状态、算子聚合状态、广播状态,那么这些状态在并行度改变时,是如何在子任务实例间迁移的?

2023-08-09 01:34:59 165

转载 理解volatile

同时,通过以批处理的方式刷新写缓冲区,以及合并写缓冲区中对同一内存地址的多次写,较少对内存总线的占用。线程之间的共享变量存储在主内存中(Main Memory)中,每个线程都一个都有一个私有的本地内存(Local Memory),本地内存中存储了该线程以读/写共享变量的副本。打印结果如下,我们可以看到虽然线程Thread2已经把flag 修改为false了,但是线程Thread1没有读取到flag修改后的值,线程一直在运行。所以当一个线程把主内存中的共享变量读取到自己的本地内存中,然后做了更新。

2023-07-27 02:27:11 68 1

转载 Python 中Condition条件变量中的wait()和notify()源码解读

Python 中Condition条件变量中的wait()和notify()源码解读 注:1、notify()每次只释放和移除n个上层锁;2、两个线程之间每次交互都会遗留自己的一个上层锁没有释放,但是一个不会造成阻塞,程序正常运行(自己觉得有遗留,有知道的可以评论告知);3、每次释放锁之后程序继续执行,只会在获取锁的时候竞争资源产生阻塞;4、底层锁和上层锁相互制约,有序执行。...

2020-03-31 18:58:12 2240 4

原创 centos 7.4.1708/isos/x86_64/地址

https://archive.kernel.org/centos-vault/7.4.1708/isos/x86_64/

2019-07-03 16:10:29 5309

转载 Hive分区(静态分区+动态分区)

Hive分区的概念与传统关系型数据库分区不同。传统数据库的分区方式:就oracle而言,分区独立存在于段里,里面存储真实的数据,在数据进行插入的时候自动分配分区。Hive的分区方式:由于Hive实际是存储在HDFS上的抽象,Hive的一个分区名对应一个目录名,子分区名就是子目录名,并不是一个实际字段。所以可以这样理解,当我们在插入数据的时候指定分区,其实就是新建一个目录或者子目录,或者在原有...

2019-02-28 21:12:59 779

空空如也

空空如也

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

TA关注的人

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