A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X  Y  Z  Sonderzeichen  sybase-tech-blog


Kategorie: ASE: Funktionen: System Funktionen

data_pages()

Die Funktion data_pages() ist eine System Funktion und ersetzt ab ASE-Version 15.0 die Funktion data_pgs() und ptn_data_pgs() aus früheren ASE-Versionen. Die Funktion data_pages() kann von jedem Benzutzer ausgeführt werden.

Die Funktion data_pages() gibt die Anzahl der Pages einer Tabelle, eines Indizes oder einer Partition zurück, die der Funktion mitgegeben wurde. Dabei werden nur Pages berücksichtigt, die nicht für ASE-interne Strukturen benutzt werden.

Syntax der System Function data_pages()

    data_pages ( dbid, object_id [, indid [, ptnid]])
    

Die Parameter der String Funktion data_pages()

"dbid"
Der Parameter "dbid" ist die id einer Datenbank aus der Systemtabelle sysdatabases, die die data pages enthält.

"object_id"
Der Parameter "object_id" ist die id des Objekts aus der Systemtabelle sysobjects in der Spalte "id" der entsprechenden Datenbank.

"indid"
Der Parameter "indid" ist die id des entsprechenden Indexes.

"ptnid"
Der Parameter "ptnid" ist die id der entsprechenden Partition. Die id einer Partition steht in der Systemtabelle syspartitions in der Spalte "id".

Beispiel für System Funktion data_pages()

    select data_pages(6, 1856006612)
go
-----
column_name

Gibt die Anzahl der verwendeten Pages, des Objekts mit der id 1856006612 in der Datenbank mit der id 6 zurück.

Verwendung der System Funktion data_pages()

Die Funktion data_pages() hat gewisse Einschränkungen wenn die Option "ptnid" verwendet werden soll: Wenn ein Clustered Index auf einer APL Tabelle, also auf einer Tabelle mit dem Locking Schema allpages locking erstellt wurde, kann die Funktion data_pages() nur verwendet werden, wenn die Option "indid" mit einem der beiden Werte "0" oder "1" besetzt ist. "0" gibt die Pages zurück, die von den reinen Daten benutzt werden, "1" gibt die Pages zurück, die vom Index selbst benutzt werden.

Fehlermeldungen werden insbesondere bei 0-Divisionen ausgegeben. Das tritt dann ein, wenn die "object_id" nicht existiert oder wenn die Ziel-"indid" oder -"ptnid" nicht gefunden werden können.

Siehe auch:

Aggregat Funktionen,
audit_event_name(),
col_length(),
col_name(),
curunreservedpgs(),
datachange(),
datalength(),
data_pgs(),
db_id(),
db_name(),
derived_stat(),
host_id(),
host_name(),
identity(),
identity_burn_max(),
index_col(),
index_colorder(),
isnull(),
is_quiesced(),
lct_admin("logsegment_freepages"),
lct_admin("num_logpages"),
lct_admin("reserved"),
lct_admin("reserved_for_rollbacks"),
lct_admin(),
license_enabled(),
lockscheme(),
next_identity(),
object_id(),
object_name(),
pageinfo(),
pagesize(),
pointer_size(),
ptn_data_pgs(),
reserved_pages(),
reserved_pgs(),
rowcnt(),
row_count(),
showplan_in_xml(),
syb_quit(),
syb_sendmsg(),
System Funktionen,
tempdb_id(),
tran_dumpable_status(),
tsequal(),
used_pages(),
used_pgs().