首页 > 代码库 > cache数据库之表的存储结构

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

<script type="text/javascript"> $(function () { $(‘pre.prettyprint code‘).each(function () { var lines = $(this).text().split(‘\n‘).length; var $numbering = $(‘
    ‘).addClass(‘pre-numbering‘).hide(); $(this).addClass(‘has-numbering‘).parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($(‘
  • ‘).text(i)); }; $numbering.fadeIn(1700); }); }); </script>

cache数据库之表的存储结构