第十五章 使用管理門戶SQL接口(二)
過(guò)濾模式內(nèi)容
Management Portal SQL界面的左側(cè)允許查看模式(或匹配篩選器模式的多個(gè)模式)的內(nèi)容
- 通過(guò)單擊SQL interface頁(yè)面頂部的Switch選項(xiàng),指定希望使用的名稱空間。
這將顯示可用名稱空間的列表,可以從中進(jìn)行選擇。 - 應(yīng)用篩選器或從模式下拉列表中選擇模式。
可以使用Filter字段通過(guò)輸入搜索模式來(lái)篩選列表。
可以在一個(gè)模式或多個(gè)模式中篩選模式,或篩選表/視圖/過(guò)程名(項(xiàng))。
搜索模式由模式名、點(diǎn)(.
)和項(xiàng)目名組成——每個(gè)名稱由文字和通配符的某種組合組成。字面值不區(qū)分大小寫。
通配符是:
- 星號(hào)(
*
)表示0個(gè)或多個(gè)任意類型的字符。 - 下劃線(
_
)表示任意類型的單個(gè)字符。 - 撇號(hào)(
'
)倒裝前綴,意為“不”(除了)。 - 反斜杠(
\
)轉(zhuǎn)義字符:\_
表示字面上的下劃線字符。
例如,S*
返回所有以S S*
開(kāi)頭的模式。
Person
返回所有以S. *
開(kāi)頭的模式中的所有Person項(xiàng)。
Person*
返回所有模式中以Person開(kāi)頭
的所有項(xiàng)。
可以使用逗號(hào)分隔的搜索模式列表來(lái)選擇滿足所列模式(或邏輯)中的任何一種的所有項(xiàng)。
例如,* .Person * *
。
Employee*
選擇所有模式中的所有Person和Employee項(xiàng)。
若要應(yīng)用篩選器搜索模式,請(qǐng)單擊refresh按鈕或按Tab鍵。
過(guò)濾器搜索模式將一直有效,直到顯式地更改它。
過(guò)濾器字段右側(cè)的“x”
按鈕清除搜索模式。
- 從schema下拉列表中選擇一個(gè)模式將覆蓋并重置之前的任何篩選器搜索模式,選擇單個(gè)模式。
指定篩選器搜索模式將覆蓋之前的任何模式。 - 可選地,使用下拉“應(yīng)用到”列表來(lái)指定要列出的項(xiàng)目類別:表、視圖、過(guò)程、緩存查詢,或以上所有。
默認(rèn)為All
。
在“應(yīng)用到”下拉列表中指定的任何類別都受到篩選器或模式的限制。
在“應(yīng)用到”中沒(méi)有指定的類別繼續(xù)在名稱空間中列出該類別類型的所有項(xiàng)。 - 可選地,單擊System復(fù)選框以包含系統(tǒng)項(xiàng)目(名稱以
%
開(kāi)頭的項(xiàng)目)。
默認(rèn)情況下不包含系統(tǒng)項(xiàng)。 - 展開(kāi)類別的列表,列出指定架構(gòu)或指定篩選器搜索模式的項(xiàng)。
展開(kāi)列表時(shí),不包含項(xiàng)的任何類別都不會(huì)展開(kāi)。 - 單擊展開(kāi)列表中的項(xiàng),在SQL界面的右側(cè)顯示其目錄詳細(xì)信息。
如果所選項(xiàng)目是表或過(guò)程,則Catalog Details類名信息提供到相應(yīng)類參考文檔的鏈接。
請(qǐng)注意,篩選器設(shè)置是用戶自定義的,并保留以供該用戶將來(lái)使用。
Browse選項(xiàng)卡
Browse選項(xiàng)卡提供了一種方便的方式,可以快速查看名稱空間中的所有模式,或者名稱空間中經(jīng)過(guò)過(guò)濾的模式子集。
可以選擇Show All Schemas或Show Schemas with Filter,這將應(yīng)用在管理門戶SQL界面左側(cè)指定的過(guò)濾器。
通過(guò)單擊模式名稱標(biāo)題,可以按字母升序或降序列出模式。
每個(gè)列出的模式都提供指向其關(guān)聯(lián)表、視圖、過(guò)程和查詢(緩存的查詢)列表的鏈接。
如果模式?jīng)]有該類型的項(xiàng),則在該模式列表列中顯示一個(gè)連字符(而不是命名鏈接)。
這使能夠快速獲得關(guān)于模式內(nèi)容的信息。
單擊“表”、“視圖”、“過(guò)程”或“查詢”鏈接將顯示有關(guān)這些項(xiàng)的基本信息的表。
通過(guò)單擊表標(biāo)題,可以按該列的值升序或降序?qū)α斜磉M(jìn)行排序。
過(guò)程表總是包括區(qū)段過(guò)程,而不管管理門戶SQL界面左側(cè)的過(guò)程設(shè)置如何。
可以使用Catalog Details選項(xiàng)卡獲得關(guān)于單個(gè)表、視圖、過(guò)程和緩存查詢的更多信息。
從Browse選項(xiàng)卡中選擇表或視圖不會(huì)激活該表的Open Table
鏈接。
目錄詳情
管理門戶提供每個(gè)表,視圖,過(guò)程和緩存查詢的目錄詳細(xì)信息。管理門戶SQL界面的過(guò)濾架構(gòu)內(nèi)容(左側(cè))組件允許您選擇單個(gè)項(xiàng)目以顯示其目錄詳細(xì)信息。
目錄表的詳細(xì)信息
每個(gè)表提供以下目錄詳細(xì)信息選項(xiàng):
- 表信息:表類型:表類型:無(wú)論是表,全局臨時(shí)或系統(tǒng)表(僅在選擇系統(tǒng)復(fù)選框時(shí)顯示系統(tǒng)表),所有者名稱,最后編譯的時(shí)間戳,外部和讀取的布爾值,類名稱,范圍大小,子表的名稱和/或父表(如果相關(guān))和一個(gè)或多個(gè)引用字段到其他表(如果相關(guān)),無(wú)論是使用
%storage.persistent
默認(rèn)存儲(chǔ)類,無(wú)論是支持位圖指標(biāo),ROWID
字段名稱,ROWID
基于(如果相關(guān))的字段列表,以及表是否被分析。如果有一個(gè)顯式分片鍵,它會(huì)顯示分片鍵字段。
類名是在Intersystems類參考文檔中的相應(yīng)條目的鏈接。類名是通過(guò)刪除標(biāo)點(diǎn)字符,如標(biāo)識(shí)符和類實(shí)體名稱中所述從表名派生的唯一包。
只有當(dāng)當(dāng)前表中的某個(gè)字段對(duì)另一個(gè)表有一個(gè)或多個(gè)引用時(shí),引用才會(huì)出現(xiàn)在表信息中。
這些對(duì)其他表的引用作為指向所引用表的表信息的鏈接列出。
Sharded:如果表是一個(gè)分片主表,那么表信息將顯示分片本地類和表的名稱,并鏈接到InterSystems類參考文檔中相應(yīng)的條目。
如果該表是一個(gè)碎片本地表,表信息將顯示碎片主類和表的名稱,并鏈接到InterSystems類參考文檔中相應(yīng)的條目。
只有選中“System”復(fù)選框時(shí),才會(huì)顯示“Shard-local”表。
該選項(xiàng)還為打開(kāi)表時(shí)要加載的行數(shù)提供了一個(gè)可修改的值。
這將設(shè)置打開(kāi)表中顯示的最大行數(shù)。
可用范圍從1到10,000;
默認(rèn)值為100。
管理門戶將一個(gè)超出可用范圍的值修正為一個(gè)有效值:0修正為100;
一個(gè)小數(shù)四舍五入到下一個(gè)更大的整數(shù);
大于10,000的數(shù)字更正為10,000。
- 字段:表中字段的列表,顯示字段名,數(shù)據(jù)類型,列#,必需的,惟一的,排序,隱藏,MaxLen, MaxVal, MinVal,流,容器,xDBC類型,引用,版本列,選擇性,離群值選擇性,離群值和平均字段大小。
- 映射/索引:為表定義的索引列表,顯示:索引名、SQL映射名、列、類型、塊計(jì)數(shù)、映射繼承和全局。
索引名稱是索引屬性名稱,然后遵循屬性命名約定;從SQL索引名稱生成時(shí),將刪除SQL索引名稱中的標(biāo)點(diǎn)符號(hào)(例如下劃線)。 SQL映射名稱是索引的SQL名稱。生成的SQL映射名稱與約束名稱相同,并遵循相同的命名約定(下面描述)。列指定為索引指定的字段或逗號(hào)分隔的字段列表;它可以指定index collation類型和full schinea.table.field參考,如下例所示:$$sqlupper({sample.people.name})
。類型可以是以下之一:位圖范圍,數(shù)據(jù)/主,索引(標(biāo)準(zhǔn)索引),位圖或bitslice
索引以及唯一的約束。塊計(jì)數(shù)包含計(jì)數(shù)和該計(jì)數(shù)的確定:由Class Author(定義)明確地設(shè)置,由可調(diào)組織(測(cè)量)計(jì)算,或由類編譯器(估計(jì))估計(jì)。如果映射繼承?是的,map是從超類繼承的。全局是包含索引數(shù)據(jù)的下標(biāo)全局的名稱。索引全局的命名約定在索引全局名稱中描述。您可以向ZWRITE提供此全局名稱以顯示索引數(shù)據(jù)。
此選項(xiàng)還為每個(gè)索引提供重建索引的鏈接。
- 觸發(fā):為表顯示的觸發(fā)器列表顯示:觸發(fā)名稱,時(shí)間事件,訂單,代碼。
- 約束:表格的字段列表,顯示:約束名稱,約束類型和約束數(shù)據(jù)(括號(hào)中列出的字段名稱)。約束包括主鍵,外鍵和唯一約束。主鍵是定義,唯一;它僅列出一次。此選項(xiàng)列出約束名稱的約束;使用顯示組件字段的逗號(hào)分隔列表的約束數(shù)據(jù)列出了一次涉及多個(gè)字段的約束。約束類型可以是唯一的主鍵,隱式主鍵,外鍵或隱式外鍵。
還可以通過(guò)調(diào)用Information_schema.constraint_column_usage
來(lái)列出約束。此列表按字段名稱約束。以下示例返回字段的名稱和所有唯一,主鍵,外鍵和Check Constraints
的約束的名稱:
SELECT Column_Name,Constraint_Name FROM INFORMATION_SCHEMA.CONSTRAINT_COLUMN_USAGE WHERE TABLE_SCHEMA='Sample' AND TABLE_NAME='Person'
如果該表定義為%PublicraWID
,并且沒(méi)有定義顯式主鍵,則RowID
字段列出了具有約束名稱RowidField_As_PKey
的Contriced
主鍵的約束類型。
對(duì)于顯式約束,約束名稱是如下生成的:
- 字段定義中指定的約束:例如,
fullname varchar(48)
唯一或fullname varchar(48)
主鍵。字段的約束名稱值是具有語(yǔ)法tableName_ctype#
的生成值,其中ctype是唯一的,pkey
或fkey
,#
是在表定義中指定的順序分配給未命名約束的順序整數(shù)。例如,如果FullName
具有MyTest
表中的第二個(gè)未命名的唯一約束(不包括ID字段),則FullName
的生成約束名稱將是mytest_unique2
;如果fullname
是MyTest
表中指定的主鍵和第3個(gè)未命名約束(不包括ID字段),則FullName
的生成約束名稱將是MyTest_pKey3
。 - 約束關(guān)鍵字命名約束子句:例如,約束
UFULLNAME
唯一(名字,LastName
)或約束Pkname
主鍵(FullName
)),約束名稱是指定的唯一約束名稱。例如,MyTest
表中的名字和LastName
每個(gè)都將每個(gè)約束名稱UfullName
;fullname
將具有約束名稱pkname
。 - 未命名約束子句:例如,唯一(名字,姓氏)或主鍵(
FullName
)。約束名稱值是具有語(yǔ)法tableNamectype#
的生成值,其中ctype
是唯一的,pkey
或fkey
,##
是在表定義中指定的順序分配給未命名約束的順序整數(shù)。例如,如果FirstName
和LastName
具有MyTest
表中的第2個(gè)未命名的唯一約束(不包括ID字段),則FirstName
和LastName
的生成約束名稱將是MyTestunique2
;如果FullName
是MyTest
表中指定的主要鍵和第3個(gè)未命名的約束(不包括ID字段),則FullName
的生成約束名稱將是MyTestPKEY3
。 (注意混合大寫/小寫,沒(méi)有下劃線。)
如果一個(gè)字段涉及多個(gè)唯一約束,則為每個(gè)約束名稱單獨(dú)列出。
- 緩存查詢:表的緩存查詢列表顯示:例程名稱,查詢文本,創(chuàng)建時(shí)間,源,查詢類型。
- 表的SQL語(yǔ)句:為此表生成的SQL語(yǔ)句列表。與命名空間的SQL語(yǔ)句相同的信息。
目錄的視圖詳細(xì)信息
Management Portal SQL接口還提供視圖,過(guò)程和緩存查詢的目錄詳細(xì)信息:
為每個(gè)視圖提供以下目錄詳細(xì)信息選項(xiàng):
- 查看信息:所有者名稱,最后編譯的時(shí)間戳。使用“編輯視圖”鏈接并保存更改時(shí),此時(shí)間戳更新。
定義為只讀,視圖是可更新的布爾值:如果僅讀取的視圖定義,則它們分別設(shè)置為1和0。否則,如果查看視圖是從單個(gè)表定義的,它們被設(shè)置為0和1;如果視圖由已加入的表定義,則它們?cè)O(shè)置為0和0。可以使用編輯視圖鏈接更改此選項(xiàng)。
類名是唯一的包。通過(guò)刪除標(biāo)點(diǎn)字符,如標(biāo)識(shí)符和類實(shí)體名稱中所述,從視圖名稱派生的名稱。
如果查看定義包含“使用”選項(xiàng)“子句,則僅列出選項(xiàng)。它可以是本地的或級(jí)聯(lián)。您可以使用編輯視圖鏈接更改此選項(xiàng)。
類類型是視圖。它提供了編輯視圖鏈接以編輯視圖定義。
查看文本是用于定義視圖的SELECT
語(yǔ)句。可以使用編輯視圖鏈接更改視圖定義。
字段列表包括字段名稱,數(shù)據(jù)類型,maxlen參數(shù),maxval參數(shù),minval參數(shù),blob(%stream.globalcharacter
或%stream.globalbinary
字段),長(zhǎng)度,精度和比例。
- 查看的SQL語(yǔ)句:為此視圖生成的SQL語(yǔ)句列表。與命名空間的SQL語(yǔ)句相同的信息。
存儲(chǔ)過(guò)程的目錄詳細(xì)信息
為每個(gè)過(guò)程提供以下目錄詳細(xì)信息:
- 存儲(chǔ)過(guò)程信息:
類名是一個(gè)唯一的包。通過(guò)將類型標(biāo)識(shí)符( ‘func’, ‘meth’, ‘proc’, or ‘query’
)預(yù)定到類名(例如,SQL函數(shù)MyProc
變?yōu)?code>FuncMyProc)并刪除標(biāo)點(diǎn)符號(hào)字符,如標(biāo)識(shí)符和類實(shí)體名稱中所述。類文檔是Intersystems類參考中相應(yīng)條目的鏈接。過(guò)程類型(例如,函數(shù))。方法或查詢名稱生成的類方法或類查詢的名稱;此名稱在標(biāo)識(shí)符和類實(shí)體名稱中描述。運(yùn)行過(guò)程鏈接提供交互方式的選項(xiàng)。
- 存儲(chǔ)過(guò)程SQL語(yǔ)句:為此存儲(chǔ)過(guò)程生成的SQL語(yǔ)句列表。與命名空間的SQL語(yǔ)句相同的信息。
緩存查詢的目錄詳細(xì)信息
緩存查詢提供查詢的全文,一個(gè)選項(xiàng)來(lái)顯示查詢執(zhí)行計(jì)劃,以及交互式執(zhí)行緩存查詢的選項(xiàng)。
向?qū)?/h1>
- 數(shù)據(jù)導(dǎo)入向?qū)?- 運(yùn)行向?qū)?shù)據(jù)從文本文件導(dǎo)入Intersystems Iris類。
- 數(shù)據(jù)導(dǎo)出向?qū)?- 運(yùn)行向?qū)?shù)據(jù)從Intersystems Iris類導(dǎo)出到文本文件中。
- 數(shù)據(jù)遷移向?qū)?- 運(yùn)行向?qū)б詮耐獠吭催w移數(shù)據(jù),并創(chuàng)建一個(gè)Intersystems Iris類定義來(lái)存儲(chǔ)它。
- 鏈接表向?qū)?- 運(yùn)行向?qū)В枣溄拥酵獠吭粗械谋砘蛞晥D,就像它是本機(jī)Intersystems Iris數(shù)據(jù)一樣。
- 鏈接過(guò)程向?qū)?- 運(yùn)行向?qū)В枣溄拥酵獠吭粗械倪^(guò)程。
操作
- 創(chuàng)建視圖 - 顯示一個(gè)頁(yè)面以創(chuàng)建視圖。使用此選項(xiàng)的說(shuō)明提供了本書的“定義和使用視圖”章節(jié)。
- 打印目錄 - 允許打印有關(guān)表定義的完整信息。單擊打印目錄顯示打印預(yù)覽。通過(guò)單擊此打印預(yù)覽上的指數(shù),觸發(fā)器和/或約束,可以從目錄打印輸出中包含或排除此信息。
- Purege緩存查詢 - 提供三種用于清除緩存查詢的選項(xiàng):清除當(dāng)前命名空間的所有緩存查詢,清除指定表的所有緩存查詢,或者僅清除所選緩存的查詢。
- 調(diào)諧表信息 - 對(duì)選定的表運(yùn)行調(diào)諧表工具。這計(jì)算了每個(gè)表列對(duì)當(dāng)前數(shù)據(jù)的選擇性。選擇性值1表示定義為唯一(因此具有所有唯一數(shù)據(jù)值)的列。選擇性值為
1.0000%
表示未定義所有當(dāng)前數(shù)據(jù)值是唯一值的唯一列。 1.0000%
的百分比值更大,指示當(dāng)前數(shù)據(jù)中該列的重復(fù)值的相對(duì)數(shù)量。通過(guò)使用這些選擇性值,可以確定要定義的索引以及如何使用這些索引來(lái)優(yōu)化性能。
- 調(diào)整架構(gòu)中的所有表 - 運(yùn)行調(diào)諧表工具,針對(duì)所屬于當(dāng)前命名空間中指定架構(gòu)的所有表。
- 重建表索引 - 重建指定表的所有索引。
- 刪除此項(xiàng)目 - 刪除(刪除)指定的表定義,查看定義,過(guò)程或緩存查詢。必須具有適當(dāng)?shù)臋?quán)限來(lái)執(zhí)行此操作。除非表類定義包括[
DDLOWALLED
],否則否則不能在通過(guò)定義持久性類創(chuàng)建的表上使用刪除。否則,操作失敗了,使用SQLCode -300
錯(cuò)誤,其中包含類“Schema.TableName”
的%MSG DDL
。如果相應(yīng)的持久性類具有子類(派生類),則不能在表格上使用刪除;使用%msg
類'schema.tableName'
具有派生類SQLCode -300
錯(cuò)誤失敗,因此無(wú)法通過(guò)DDL刪除。
1.0000%
表示未定義所有當(dāng)前數(shù)據(jù)值是唯一值的唯一列。 1.0000%
的百分比值更大,指示當(dāng)前數(shù)據(jù)中該列的重復(fù)值的相對(duì)數(shù)量。通過(guò)使用這些選擇性值,可以確定要定義的索引以及如何使用這些索引來(lái)優(yōu)化性能。DDLOWALLED
],否則否則不能在通過(guò)定義持久性類創(chuàng)建的表上使用刪除。否則,操作失敗了,使用SQLCode -300
錯(cuò)誤,其中包含類“Schema.TableName”
的%MSG DDL
。如果相應(yīng)的持久性類具有子類(派生類),則不能在表格上使用刪除;使用%msg
類'schema.tableName'
具有派生類SQLCode -300
錯(cuò)誤失敗,因此無(wú)法通過(guò)DDL刪除。如果一個(gè)類被定義為鏈接表,則下降操作也會(huì)將鏈接表放在本地系統(tǒng)上,即使鏈接的表類未被定義為ddlowed。下降不會(huì)刪除實(shí)際表此鏈接引用服務(wù)器上的引用。
- 導(dǎo)出所有語(yǔ)句 - 將所有SQL語(yǔ)句導(dǎo)出在當(dāng)前命名空間中。 SQL語(yǔ)句以XML格式導(dǎo)出。可以選擇導(dǎo)出到文件,或?qū)С龅綖g覽器顯示頁(yè)面。
- 導(dǎo)入語(yǔ)句 - 將SQL語(yǔ)句從XML文件導(dǎo)入當(dāng)前命名空間。
打開(kāi)表
如果在管理門戶SQL接口的左側(cè)選擇表或視圖,則會(huì)顯示該表或視圖的目錄詳細(xì)信息。頁(yè)面頂部的打開(kāi)表鏈接也變?yōu)榛顒?dòng)狀態(tài)。打開(kāi)表顯示表中的實(shí)際數(shù)據(jù)(或通過(guò)視圖訪問(wèn))。數(shù)據(jù)以顯示格式顯示。
默認(rèn)情況下,將顯示前100行數(shù)據(jù);通過(guò)在“目錄詳細(xì)信息”選項(xiàng)卡信息中將表打開(kāi)時(shí),通過(guò)設(shè)置要加載的行數(shù)來(lái)修改此默認(rèn)值。如果表格中的行數(shù)多于此行到加載值,則在數(shù)據(jù)顯示的底部顯示越多的數(shù)據(jù)...指示器。如果表格中的行較少,則要加載值的行數(shù),則在數(shù)據(jù)顯示的底部顯示完整的指示符。
一列數(shù)據(jù)類型%Stream.globalcharacter
將實(shí)際數(shù)據(jù)(最多100個(gè)字符)顯示為字符串。超出前100個(gè)字符的附加數(shù)據(jù)由省略號(hào)(...
)表示。
一列數(shù)據(jù)類型%Stream.Globalbinary
顯示為<二進(jìn)制>。
工具
System Explorer,SQL,Tools下拉列表提供對(duì)以下工具的訪問(wèn)。這些是系統(tǒng)資源管理器,工具,SQL性能工具的相同工具:
- SQL運(yùn)行時(shí)統(tǒng)計(jì)信息:用戶界面生成指定查詢的SQL運(yùn)行時(shí)統(tǒng)計(jì)信息。
- 索引分析儀:用于收集指定架構(gòu)的各種類型索引分析的用戶界面。
- 替代表演計(jì)劃:用戶界面生成指定查詢的備用顯示計(jì)劃。
- 生成報(bào)告以將SQL查詢性能報(bào)告提交給Intersystems WRC(全球響應(yīng)中心客戶支持)。要使用此報(bào)告工具,必須先從WRC獲取WRC跟蹤號(hào)碼。
- 導(dǎo)入報(bào)告以通過(guò)文件名導(dǎo)入現(xiàn)有WRC報(bào)告。僅用于Intersystems使用。