Buffer Cache notes

本文详细解释了缓存(Cache)和缓冲(Buffer)的概念及其作用。缓存是为了提高CPU和内存之间数据交换速度而设计的,根据程序的局部性原理进行工作;而缓冲则是为了提高I/O设备与内存间数据交换效率而设计,通过集中写操作减少磁盘碎片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Buffer(缓冲)是为了提高内存和硬盘(或其他I/O设备)之间的数据交换的数据而设计的。
Cache(缓存)是为了提高CPU和内存之间的数据交换而设计的,一级、二级、三级缓存...

CPU在执行程序所用的指令和读数据都是针对内存的,由于读写数据慢,为了提高CPU和内存之间数据交换的速度在CPU和内存之间增加了Cache,它的速度比内存快,但造价高,又由于在CPU内不能集成太多电路,所以一般Cache比较小,以后Intel公司为了进一步提高数据,又增加了二级Cache,甚至三级Cache,它是根据程序的局部性原理而设计的,就是CPU执行的指令和访问的数据往往在集中的某一块,所以把这块内容放入Cache后CPU就不用再访问内存了,这就提高了速度(当然若Cache中没有CPU所需要的内容,还是要访问内存的)

 

Buffer是根据磁盘的读写设计的,把分散的写操作集中进行,减少磁盘碎片和磁盘的反复寻道,从而提高系统性能。

Cache位于应用程序与物理数据源之间,用于临时存放复制数据的内存区域,目的是为了减少应用程序对物理数据源访问的次数,从而提高应用程序的运行性能。

 

简单的说,Buffer是即将被写入磁盘的,而Cache是被从磁盘中读出来的。

 

Buffer是由各种进程分配的,被用在如输入队列等方面,例子:某个进程要求有多个字段读入,在所有字段被读入完整之前,进程把先读入的字段放在Buffer中保存。

Cache经常被用在磁盘的I/O请求上,如果有多个进程都要访问某个文件,于是该文件便被做成Cache以方便下次被访问,这样可提高系统性能。

CREATE TABLE "LMIS"."RK_YJMINFO_PRODUCTLINE" ( "BARCODE" VARCHAR2(255) NOT NULL ENABLE, "PIC_NO_TOUF" VARCHAR2(11), "TOUFK_NO" VARCHAR2(10) NOT NULL ENABLE, "TOUF_TIME" DATE, "FENBZC_TIME" DATE, "FENB_TIME" DATE, "MAP_TIME" DATE, "TOUF_STATE" VARCHAR2(2), "FENBZC_STATE" VARCHAR2(2), "FENB_STATE" VARCHAR2(2), "MAP_STATE" VARCHAR2(2), "ZCSSX_NO" VARCHAR2(10), "FBSSX_NO" VARCHAR2(10), "MPLOC_NO" VARCHAR2(10), "TUOP_BARCODE" VARCHAR2(10), "SHANGP_ID" VARCHAR2(50), "LOT" VARCHAR2(20), "MAP_XL" NUMBER(10,0), "YEWDJ_NO" VARCHAR2(50), "HUOW_ID" VARCHAR2(50), CONSTRAINT "PK" PRIMARY KEY ("BARCODE", "TOUF_TIME") USING INDEX PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "LMIS" ENABLE, SUPPLEMENTAL LOG DATA (ALL) COLUMNS ) SEGMENT CREATION IMMEDIATE PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "LMIS" ; CREATE UNIQUE INDEX "LMIS"."PK" ON "LMIS"."RK_YJMINFO_PRODUCTLINE" ("BARCODE", "TOUF_TIME") PCTFREE 10 INITRANS 2 MAXTRANS 255 COMPUTE STATISTICS STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645 PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT) TABLESPACE "LMIS" ; 根据这个Oracle的DDL语句给出创建ClickHouse表的DDL语句
03-18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值