![]() |
1
1
我以前没有遇到过这样的问题,但我有一些理论 更快的速度 . 当系统将数据持久化为40字节字符并且有一个索引时,该索引将尽可能短,以区分数据的准确记录位置。例如:
在一般数据库理论中,使用的存储越少 查询性能 获得。 如果您的数据足够多,以至于数据库需要所有字符(40字节字符)来索引记录,则某些记录的索引大小将为40字节。 上述理论有一个前提:匹配的数据只占全部数据的一小部分。 索引维护工作有一个值得关注的重要因素:您需要20个索引(逻辑上)来加速20int32的策略。实际上,80字符策略和单个Int64策略只需要一个索引。 让我们解释一下索引是否不起作用,这意味着数据库系统使用全表扫描(FTS)策略执行查询。
对于每个记录8字节的8字节(Int64)数据,SQL Server中的每个页面都可以保存8K*1024/8=1024条记录。 如果有20000条记录,数据库需要20000/204=99个I/O来执行FTS,而另一个需要20000/1024=20个I/O。 所需的I/O越少,获得的性能就越多。 |
![]() |
2
0
枚举并不是很有用,如果你知道你想要哪个索引号,只需访问那里的数据。同样,在Foo[,]之后,您应该指定变量名,不能在那里使用枚举名。 |
![]() |
3
0
如果我正确理解您的问题,您想匹配数据库中FooBar(或其二进制表示)的整个实例吗? 5x4网格=20个项,每个项2位=40位=5字节=Int64列。你不能更快地满足你的要求。 |
![]() |
A B · C#Excel自动调整列避免长文本时出错 5 月前 |
![]() |
Megrez7 · C#ToArray转换合并为一行,导致数组元素更改 5 月前 |
![]() |
Aycon · 在工厂方法中释放部分创建的对象的正确方法是什么? 5 月前 |
|
Sei · Avalonia/WPF将路由器传递到控制模板 5 月前 |