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

used_pgs()

Die System Funktion used_pgs() gibt die Anzahl der genutzten Pages einer Tabelle oder eines Index zurück. Bei einer Tabelle mit all-pages lock Schema und einem clustered index, besteht der Rückgabewert aus der Summe der Seiten (Pages) genutzt von Index und Tabelle. Bei einer Tabelle mit data-only-locked Schema, sowie für Tabellen ohne clustered Index, gibt die Funktion "used_pgs" die Anzahl der genutzten Seiten in der Tabelle zurück. Bei Tabellen mit data-only-locked Schema, die einen clustered oder non-clustered Index besitzen, gibt die Funktion "used_pgs" die Anzahl der genutzten Seiten des Index wieder. Die Funktion used_pgs wird ab ASE-Version 15.0 durch die System Funktion used_pages ersetzt.

Die System Funktion "used_pgs()" ist eine T-SQL Erweiterung. Sie kann von jedem User nur auf den Objekten in der aktuellen Datenbank ausgeführt werden.

Syntax der System Funktion used_pgs()

    used_pages(object_id, doampg, ioampg)
    

Die Parameter der System Funktion used_pgs()

"object_id"
Der Parameter "object_id" ist die ID (Identifikationsnummer) der Tabelle für welche die Anzahl der genutzten Seiten abgefragt werden soll. Um die Seitenanzahl anzuzeigen, die von einem Index genutzt werden, gibt man dennoch die "object_id" der Tabelle an, zu der der Index gehört. Die object_id kann aus der Spalte "id" in der Systemtabelle sysobjects ermittelt werden.

Jede Tabelle und jeder Index besitzen eine Object Allocation Map oder OAM. Diese Seiten beinhalten Informationen über die Anzahl der Seiten, die einem Objekt zugeordnet wurden. Die Informationen werden von verschiedenen ASE Prozessen erneuert, wenn Seiten (Pages) hinzugefügt oder entfernt werden. Prozesse, die diese Informationen auslesen, sind u.a. sp_spaceused, oder auch einige dbcc Kommandos. "doampg"
Der Parameter "doampg" ist die Seitennummer der Object Allocation Map oder OAM einer Tabelle oder eines clustered index. Der Wert "doampg" kann aus aus der Spalte doampg in der Systemtabelle sysindexes ausgelesen werden.

"ioampg"
Der Parameter "ioampg" bezeichnet die Seitenummer für die Object Allocation Map oder OAM eines non-clustered Index, der abgefragt werden soll. Der Wert für "ioampg" ist beziehbar aus der Spalte "ioampg" in der System Tabelle sysindexes.

Beispiel für die System Funktion used_pgs()

    1> select name, id, indid, doampg, ioampg
2> from sysindexes where id = object_id("spt_values")
3> go
name id indid doampg ioampg
------------------------------ ----------- ------ ----------- -----------
spt_valuesclust 505049804 1 1040 1032

1> select used_pgs(505049804,1040,1032)
2> go

-----------
38

(1 row affected)

Gibt die Summe der genutzten Seiten (Pages) der Tabelle mit der ID 505049804 ("spt_values") und ihres clustered index zurück.

Siehe auch:

Aggregat Funktionen,
audit_event_name(),
col_length(),
col_name(),
curunreservedpgs(),
datachange(),
datalength(),
data_pages(),
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().