Reason for counting non-clustered index on Sql server

Why do we have 249 non-clustered index in sql server 2005? why not 240 or 300? same question for SQL Server 2008, why 999? Why not 800 or 1000?

+3
source share
5 answers

They make beautiful (rounded) figures ...

SQL Server 2005: 1 Clustered Index + 249 Nonclustered Indexes = 250 Indexes per Table

SQL Server 2008: 1 Clustered Index + 999 Nonclustered Indexes = 1000 Indexes per Table

:
, 999 SQL Server 2008.
. SQL Server 2008.

index_id sysindexes :

  • 0
  • 1 -
  • > 1
  • >= 3200 - XML-

, 3198 (3199-1) SQL Server.

, sys.indexes sysindexes, , , sysindexes indid ( index_id) XML!

index_id sys.indexes int (4 ), indid sys.sysindexes smallint (2 ) (SQL Server 2008, , )

. sys [.]

+5

AFAIK - , - . , , , . , , decimal(3,0) indexid!

1000 SQL Server 2008, , 1001?

+2

, SQL Server 2005 ..

  • 0 = . sys.indexes,
  • 1 = clustered
  • 255 = SQL Server 2000 ( , )

, 253 NC ( 2 254).

? SQL Server 7.0/6.5/6.0/4.2?

+2

SQL Server tinyint . Tinyint 255. 250, ( 8000 varchar). 250 : 249 .

+1

. (.. tinyint int index_id), , .

, , , - , . , , , , . , , "" . ~ 250 90- , 1000 R2.

+1

Source: https://habr.com/ru/post/1776200/


All Articles