Class CompatibilitySchema.Index
- Namespace
- LinqToDB.Tools.DataProvider.SqlServer.Schemas
- Assembly
- linq2db.Tools.dll
sys.sysindexes (Transact-SQL)
Applies to: √ SQL Server (all supported versions)
Contains one row for each index and table in the current database. XML indexes are not supported in this view. Partitioned tables and indexes are not fully supported in this view; use the sys.indexes catalog view instead.
important
This SQL Server 2000 system table is included as a view for backward compatibility. We recommend that you use the current SQL Server system views instead. To find the equivalent system view or views, see Mapping System Tables to System Views (Transact-SQL). This feature will be removed in a future version of Microsoft SQL Server. Avoid using this feature in new development work, and plan to modify applications that currently use this feature.
See sys.sysindexes.
[Table(Schema = "sys", Name = "sysindexes", IsView = true)]
public class CompatibilitySchema.Index
- Inheritance
-
CompatibilitySchema.Index
- Extension Methods
Properties
DPages
For indid = 0 or indid = 1, dpages is the count of data pages used.
For indid > 1, dpages is the count of index pages used.
0 = Index is partitioned when indid > 1.
0 = Table is partitioned when indid is 0 or 1.
Does not yield accurate results if row-overflow occurs.
[Column("dpages")]
[Nullable]
public int? DPages { get; set; }
Property Value
- int?
First
Pointer to the first or root page.
Unused when indid = 0.
NULL = Index is partitioned when indid > 1.
NULL = Table is partitioned when indid is 0 or 1.
[Column("first")]
[Nullable]
public byte[]? First { get; set; }
Property Value
- byte[]
FirstIAM
NULL = Index is partitioned.
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed.
[Column]
[Nullable]
public byte[]? FirstIAM { get; set; }
Property Value
- byte[]
GroupID
Filegroup ID on which the object was created.
NULL = Index is partitioned when indid > 1.
NULL = Table is partitioned when indid is 0 or 1.
[Column("groupid")]
[Nullable]
public short? GroupID { get; set; }
Property Value
ID
ID of the table to which the index belongs.
[Column("id")]
[NotNull]
public int ID { get; set; }
Property Value
ImpID
Index implementation flag.
Returns 0.
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed.
[Column("impid")]
[Nullable]
public short? ImpID { get; set; }
Property Value
IndexID
ID of the index:
0 = Heap
1 = Clustered index
>1 = Nonclustered index
[Column("indid")]
[Nullable]
public short? IndexID { get; set; }
Property Value
KeyCnt
Number of keys.
[Column("keycnt")]
[Nullable]
public short? KeyCnt { get; set; }
Property Value
Keys
List of the column IDs of the columns that make up the index key.
Returns NULL.
To display the index key columns, use sys.sysindexkeys.
[Column("keys")]
[Nullable]
public byte[]? Keys { get; set; }
Property Value
- byte[]
Lockflags
Used to constrain the considered lock granularities for an index. For example, to minimize locking cost, a lookup table that is essentially read-only could be set up to do only table-level locking.
[Column("lockflags")]
[Nullable]
public short? Lockflags { get; set; }
Property Value
MaxLen
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed.
[Column("maxlen")]
[Nullable]
public int? MaxLen { get; set; }
Property Value
- int?
MaxiRow
Maximum size of a nonleaf index row.
In SQL Server 2005 (9.x) and later, maxirow is not fully compatible with earlier versions.
[Column("maxirow")]
[Nullable]
public short? MaxiRow { get; set; }
Property Value
MinLen
Minimum size of a row.
[Column("minlen")]
[Nullable]
public short? MinLen { get; set; }
Property Value
Name
Name of the index or statistic. Returns NULL when indid = 0. Modify your application to look for a NULL heap name.
[Column("name")]
[Nullable]
public string? Name { get; set; }
Property Value
OrigFillFactor
Original fill factor value used when the index was created. This value is not maintained; however, it can be helpful if you have to re-create an index and do not remember the fill factor value that was used.
[Column]
[Nullable]
public byte? OrigFillFactor { get; set; }
Property Value
- byte?
PgModCtr
Returns 0.
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed.
[Column("pgmodctr")]
[Nullable]
public int? PgModCtr { get; set; }
Property Value
- int?
Reserved
For indid = 0 or indid = 1, reserved is the count of pages allocated for all indexes and table data.
For indid > 1, reserved is the count of pages allocated for the index.
0 = Index is partitioned when indid > 1.
0 = Table is partitioned when indid is 0 or 1.
Does not yield accurate results if row-overflow occurs.
[Column("reserved")]
[Nullable]
public int? Reserved { get; set; }
Property Value
- int?
Reserved2
Returns 0.
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed.
[Column("reserved2")]
[Nullable]
public int? Reserved2 { get; set; }
Property Value
- int?
Reserved3
Returns 0.
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed.
[Column("reserved3")]
[Nullable]
public int? Reserved3 { get; set; }
Property Value
- int?
Reserved4
Returns 0.
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed.
[Column("reserved4")]
[Nullable]
public int? Reserved4 { get; set; }
Property Value
- int?
Root
For indid >= 1, root is the pointer to the root page.
Unused when indid = 0.
NULL = Index is partitioned when indid > 1.
NULL = Table is partitioned when indid is 0 or 1.
[Column("root")]
[Nullable]
public byte[]? Root { get; set; }
Property Value
- byte[]
RowCnt
Data-level row count based on indid = 0 and indid = 1.
0 = Index is partitioned when indid > 1.
0 = Table is partitioned when indid is 0 or 1.
[Column("rowcnt")]
[Nullable]
public long? RowCnt { get; set; }
Property Value
- long?
RowModCtr
Counts the total number of inserted, deleted, or updated rows since the last time statistics were updated for the table.
0 = Index is partitioned when indid > 1.
0 = Table is partitioned when indid is 0 or 1.
In SQL Server 2005 (9.x) and later, rowmodctr is not fully compatible with earlier versions. For more information, see Remarks.
[Column("rowmodctr")]
[Nullable]
public int? RowModCtr { get; set; }
Property Value
- int?
Rows
Data-level row count based on indid = 0 and indid = 1, and the value is repeated for indid >1.
[Column("rows")]
[Nullable]
public int? Rows { get; set; }
Property Value
- int?
StatBlob
Statistics binary large object (BLOB).
Returns NULL.
[Column("statblob")]
[Nullable]
public byte[]? StatBlob { get; set; }
Property Value
- byte[]
StatVersion
Returns 0.
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed.
[Column]
[Nullable]
public byte? StatVersion { get; set; }
Property Value
- byte?
Status
System-status information.
Identified for informational purposes only. Not supported. Future compatibility is not guaranteed.
[Column("status")]
[Nullable]
public int? Status { get; set; }
Property Value
- int?
Used
For indid = 0 or indid = 1, used is the count of the total pages used for all index and table data.
For indid > 1, used is the count of pages used for the index.
0 = Index is partitioned when indid > 1.
0 = Table is partitioned when indid is 0 or 1.
Does not yield accurate results if row-overflow occurs.
[Column("used")]
[Nullable]
public int? Used { get; set; }
Property Value
- int?
XMaxLen
Maximum size of a row
[Column("xmaxlen")]
[Nullable]
public short? XMaxLen { get; set; }