有没有一种方法可以使SQL Server
将带有10 attributes and 10 rows
的表存储在内存中?
a1 a2 a3 a4 a5 a6 a7 a8 a9 a10
----------------------------------------
138 498 365 345 500 473 498 125 134 800
448 498 362 348 500 463 498 625 165 700
468 498 625 329 500 435 498 625 345 600
437 701 365 326 500 453 498 625 645 500
438 498 326 329 500 438 498 625 745 400
439 499 626 329 500 438 498 525 685 300
440 500 327 328 500 423 498 627 655 200
444 214 331 334 500 428 498 125 615 100
448 498 362 348 500 463 498 225 165 700
468 498 625 329 500 435 498 425 345 600
有没有办法将此表存储在连续内存中?
我当时在考虑制作某种矢量并将表格做成单行(而不是将10个属性乘以10行组成一个大小为100的矢量)。
有没有办法做到这一点?
您可能会问为什么要这样做,这是因为我想在内存中进行一些演算以避免写入或使用磁盘,然后在C ++或.NET中访问内存或向量(也许是C#?)
最佳答案
不要试图指示SQL Server如何处理此类事情的内存。这是一种声明性语言-您告诉它想要的内容,并弄清楚该怎么做。
仅将其保留在内存中将是恢复的问题。话虽如此,一旦创建了表,一旦将其写入磁盘,它就会保留在内存中。 SQL Server缓存数据页,而类似的内容将是一个页面,因此大量的磁盘访问应该不是问题。