cache数据库之表的存储结构
1.我们已经建了一个person类,接下来就是表的存储结构
2.打开Inspector,先输入rowid名字为p_RowID,选class->Storage
3.新建一个Storage,选择CacheSQLStorage。在SqlIdExpression中输入$i(^mdata(“Person”))是\$不是S
意思是设置Rowid为自增,注意StremLocation的写法
4.Caché 以多维数组存储数据,全部数据都是保存Global中。Global以例如以下形式表示:^名称(下标1,下标2,下标3…)=值
SET ^Y(3,6,7)=”third”
SET ^Y(3,6,8)=”fourth”
SET ^Y(3,6,7,8,4)=”fifth”
SET ^Y(3,6,7,8,9)=”sixth”
Global的树状结构例如以下:
5.打开SQL storage map建立索引,点击add,选择map type为data,输入global名。一般为类名的大写
6.点击左側data。选择add加入glabal的三条数据,用“^”隔开
7.点击左側Subscripts。输入{p_RowID}
8.点击左側Rowid,输入如图所看到的
9.这时就建立了一个主索引。通过rowid能够查询表数据
^PERSON(1)=xiaoming^18^man
^PERSON是global名。(1)表示rowid为1。后面的数据位置依据data里的位置排列
10.接下来。我们在建一个索引,在NewStorage1里add一个索引,map type选择index,输入global名
11.Subscripts建立如图所看到的,这里表示了global的四个层级。第一和第二层级是自己起的名字,方便理解global存储的信息,三四层是详细内容
12.rowid如图所看到的,是第四层
13.这个以名字建立的索引我们以global来理解
^PERSONi(0,”name”,”xiaoming”,1)=0
cache数据库之表的存储结构的更多相关文章
- SQLServer2012 表IAM存储结构探究
SQLServer2012 表IAM存储结构探究 Author:zfive5(zidong) Email: zfive5@163.com 引子 国庆节期间,一直在翻阅<程序猿的自我修养-链接.装 ...
- Prometheus时序数据库-内存中的存储结构
Prometheus时序数据库-内存中的存储结构 前言 笔者最近担起了公司监控的重任,而当前监控最流行的数据库即是Prometheus.按照笔者打破砂锅问到底的精神,自然要把这个开源组件源码搞明白才行 ...
- Prometheus时序数据库-磁盘中的存储结构
Prometheus时序数据库-磁盘中的存储结构 前言 之前的文章里,笔者详细描述了监控数据在Prometheus内存中的结构.而其在磁盘中的存储结构,也是非常有意思的,关于这部分内容,将在本篇文章进 ...
- 【Java数据结构学习笔记之一】线性表的存储结构及其代码实现
应用程序后在那个的数据大致有四种基本的逻辑结构: 集合:数据元素之间只有"同属于一个集合"的关系 线性结构:数据元素之间存在一个对一个的关系 树形结构:数据元素之间存在一个对多个关 ...
- Clickhouse的MergeTree表引擎存储结构
MergeTree存储的文件结构 一张数据表被分成几个data part,每个data part对应文件系统中的一个目录.通过以下SQL可以查询data parts的信息. select table, ...
- Mysql-Innodb : 从一个字节到整个数据库表了解物理存储结构和逻辑存储结构
首先要从Innodb怎么看待磁盘物理空间说起 一块原生的(Raw)物理磁盘,可以把他看成一个字节一个字节单元组成的物理存储介质 如果要在这块原生物理空间中插入一条记录,不能单单只插入数据,还需 ...
- Berkeley DB的数据存储结构——哈希表(Hash Table)、B树(BTree)、队列(Queue)、记录号(Recno)
Berkeley DB的数据存储结构 BDB支持四种数据存储结构及相应算法,官方称为访问方法(Access Method),分别是哈希表(Hash Table).B树(BTree).队列(Queue) ...
- SQL Server 表和索引存储结构
在上一篇文章中,我们介绍了SQL Server数据文件的页面类型,系统通过96个字节的头部信息和系统表从逻辑层面上将表的存储结构管理起来,具体到表的存储结构上,SQL Server引入对象.分区.堆或 ...
- 图->存储结构->邻接多重表
文字描述 邻接多重表是无向图的另一种链式存储结构. 虽然邻接表是无向图的一种很有效的存储结构,在邻接表中容易求得顶点和边的各种信息. 但是,在邻接表中每一条边(vi,vj)有两个结点,分别在第i个和第 ...
随机推荐
- [python][oldboy][dict] 遍历字典
# coding=utf8 dict_info = {"abc": 1, 1: "liuzhipeng"} for k, v in dict_info.item ...
- Oracle 用户和权限
Oracle 用户和权限Oracle 中,一般不会轻易在一个服务器上创建多个数据库,在一个数据库中,不同的项目由不同的用户访问,每一个用户拥有自身创建的数据库对象,因此用户的概念在 Oracle中非常 ...
- Jeddict:怎样在window系统下,成功打包Angular
在Jeddict的应用过程中,发现了一个问题.如果前端视图选择Angular(具体版本,需要根据插件版本确定.此处理解为非Angular JS),那么在自动构建的过程中,会发现,每当在安装NodeJS ...
- 1.ABP使用boilerplate模版创建解决方案
1.到ABP框架的官网(http://www.aspnetboilerplate.com/),自动生成一个解决方案 每步注解: 第一步:AngularJS是一款比较火的SPA(Single Page ...
- 【Go】Panic函数
panic(运行时恐慌)是一种只会在程序运行时才回抛出来的异常.在panic被抛出之后,如果没有在程序里添加任何保护措施的话,程序就会在打印出panic的详情,终止运行. 如果一个panic是无意间引 ...
- 刷题总结——稻草人(bzoj4237cdq分治)
题目: Description JOI村有一片荒地,上面竖着N个稻草人,村民们每年多次在稻草人们的周围举行祭典. 有一次,JOI村的村长听到了稻草人们的启示,计划在荒地中开垦一片田地.和启示中的一样, ...
- 阿里面试题:说说HashMap的扩容过程?
这是一道阿里的面试题,考察你对HashMap源码的了解情况,废话不多说,咱们就直接上源码吧! jdk 1.7 源码 void resize(int newCapacity) { Entry[] old ...
- SpringBoot重点详解--使用Junit进行单元测试
目录 添加依赖与配置 ApplicationContext测试 Environment测试 MockBean测试 Controller测试 情况一 情况二 方法一 方法二 本文将对在Springboo ...
- Intellij IDE使用 ideavim,不能复制文档到系统粘贴板
vim的yank命令默认不会复制到系统粘贴板,而是粘贴到寄存器.你可以使用* 或 +寄存器来访问系统粘贴板. 在~/.ideavimrc (如果不存在就创建) 中添加下列选项 set clipboar ...
- 2018.8.8 Noip2018模拟测试赛(二十一)
日期: 八月七号 总分: 300分 难度: 提高 ~ 省选 得分: 112分(OvO) 题目目录: T1:幸福的道路 T2:Solitaire T3:Flags 赛后心得: 第一题裸树d啊! ...