• 第四十三章 持久对象和SQL - 查看存储的数据


    第四十三章 持久对象和SQL - 查看存储的数据

    查看存储的数据

    本节演示对于任何持久对象,相同的值通过对象访问、SQL 访问和直接Global访问都是可见的。

    在我们的 IDE 中,如果查看 Sample.Person 类,我们会看到以下属性定义

    /// Person's name.
    Property Name As %String(POPSPEC = "Name()") [ Required ];
    
    ...java
    
    /// Person's age.
    /// This is a calculated field whose value is derived from DOB. Property Age As %Integer [ details removed for this example ]; /// Person's Date of Birth. Property DOB As %Date(POPSPEC = "Date()");
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在终端中,我们可以打开存储的对象并写入其属性值:

    SAMPLES>set person=##class(Sample.Person).%OpenId(1)
     
    SAMPLES>w person.Name
    Newton,Dave R.
    SAMPLES>w person.Age
    21
    SAMPLES>w person.DOB
    58153
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    >>> person=iris.cls("Sample.Person")._OpenId(1)
    >>> print(person.Name)
    Newton, Dave R.
    >>> print(person.Age)
    21
    >>> print(person.DOB)
    58153
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    请注意,这里我们看到的是 DOB 属性的文字存储值。我们可以调用一个方法来返回该属性的显示值:

    SAMPLES>write person.DOBLogicalToDisplay(person.DOB)
    03/20/2000
    
    • 1
    • 2
    >>> print(iris.cls("%Date").LogicalToDisplay(person.DOB))
    03/20/2000
    
    
    • 1
    • 2
    • 3

    在管理门户中,我们可以浏览该类存储的数据,如下所示:

    在这里插入图片描述

    请注意,在本例中,我们看到 DOB 属性的显示值。 (在门户中,还有另一个执行查询的选项,通过该选项,可以控制是否对结果使用逻辑模式或显示模式。)

    在这里插入图片描述

    或者,在终端中,我们可以使用 ObjectScript 写入包含此实例的全局节点的值:

    zwrite ^Sample.PersonD("1")
    ^Sample.PersonD(1)=$lb("","Newton,Dave R.","384-10-6538",58153,$lb("6977 First Street","Pueblo","AK",63163),
    $lb("9984 Second Blvd","Washington","MN",42829),"",$lb("Red"))
    
    • 1
    • 2
    • 3

    由于篇幅原因,最后一个示例包含添加的换行符。

    SQL 生成代码的存储

    对于 SQL,系统生成可重用的代码来访问数据。

    当首次执行 SQL 语句时, IRIS 会优化查询并生成和存储检索数据的代码。它将代码以及优化的查询文本存储在查询缓存中。请注意,此缓存是代码缓存,而不是数据缓存。

    稍后,当执行 SQL 语句时, IRIS 会对其进行优化,然后将该查询的文本与查询缓存中的项目进行比较。如果 IRIS 找到与给定查询匹配的存储查询(除了空格等细微差别),它会使用为该查询存储的代码。

    可以查看查询缓存并删除其中的任何项目。

  • 相关阅读:
    11+单基因泛癌,转录组+单细胞+机器学习+预后模型
    清华、IDEA、港中文联合发表的 DQ-DETR: Dual Query Detection Transformer for Phrase Extraction and Grounding论文阅读笔记
    如何破解滑动验证码?
    【JavaScript】事件操作及其本质
    Python 中的万能之王 Lambda 函数
    尚医通(二)
    Today‘s web RPC案例
    力扣105. 从前序与中序遍历序列构造二叉树
    Redis Cluster 原理说的头头是道,这些配置不懂就是纸上谈兵
    QT打包圆心识别
  • 原文地址:https://blog.csdn.net/yaoxin521123/article/details/133451981