Hashset equivalent in SQL Server

I want to create a large table (about 45 billion rows), which is always accessed by a unique key.

Outside the database, the best storage structure is a dictionary or a HashSet, but of course, because of the size of the data, this cannot be done outside the database.

Does SQL Server provide a structure optimized for key access? I understand that a clustered key is very fast, but it is still an index, and therefore there will be some additional disk reads associated with moving index pages. What I would like to get from SQL Server is a "native" structure that stores data as key-value pairs and then allows access to values ​​based on keys.

In other words, my question is how to store 45 billion rows in SQL Server and effectively access them WITHOUT an index, clustered or non-clustered, because reading index pages without a sheet can lead to significant IO, and since each value can be obtained access by a unique key, it should be possible to have a structure in which the key hash is resolved to the physical location of the value. To get 1 value, we will need to do 1 reading (if there are no hash collisions).

(equivalent in Oracle - Hash cluster)

Thank you for your help.

+5
source share
2 answers

SQL-. - . , . , , , :

  create index IX_MyBigTable on MyBigTable(keyColumn) include (col1, col2, col3youneed);

.

+3

- . .

0

All Articles