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.
source
share