📜  Q语言-维护功能

📅  最后修改于: 2020-11-03 06:56:59             🧑  作者: Mango


Q.en

.Q.en是二进位函数,可通过枚举符号列来帮助展开表。当我们处理历史数据库(扩展数据库,分区表等)时,它特别有用。 –

.Q.en[`:directory;table]

其中directory符号文件所在的历史数据库的主目录,而table是要枚举的表。

不需要手动枚举表来将它们另存为展开的表,因为这将由-

.Q.en[`:directory_where_symbol_file_stored]table_name

.dpft

.Q.dpft函数有助于创建分区表和分段表。它是.Q.en的高级形式,因为它不仅张扬表,而且还创建分区表。

.Q.dpft中使用了四个参数-

  • 我们要在其中创建分区的数据库的符号文件句柄,

  • q我们将用来对表进行分区的数据值,

  • 要应用parted(`p#)属性的字段的名称(通常为’sym’),以及

  • 表名。

让我们看一个例子,看看它是如何工作的-

q)tab:([]sym:5?`msft`hsbc`samsung`ibm;time:5?(09:30:30);price:5?30.25)

q).Q.dpft[`:c:/q/;2014.08.24;`sym;`tab]
`tab

q)delete tab from `
'type

q)delete tab from `/
'type

q)delete tab from .
'type

q)delete tab from `.
`.

q)tab
'tab

我们已经从内存中删除了表格标签。现在让我们从数据库加载它

q)\l c:/q/2014.08.24/

q)\a
,`tab

q)tab

   sym      time      price
-------------------------------
  hsbc    07:38:13   15.64201
  hsbc    07:21:05   5.387037
  msft    06:16:58   11.88076
  msft    08:09:26   12.30159
 samsung  04:57:56   15.60838

.chk

.Q.chk是单子函数,其单个参数是根目录的符号文件句柄。它通过检查根目录中的每个分区子目录,在必要时在分区中创建空表。

.Q.chk `:directory

其中directory是历史数据库的主目录。