我正在创建一个用于导入导出测试的模拟数据库(算法将复杂的数据结构读写到我们的数据库中,而不仅仅是测试IO操作),并且正在尝试决定是使用DataSet将模拟表(按表名)存储在人工数据库中,还是使用字典()在按名称检索数据表方面,我希望从,dataset.Tables"TableName“或dictionary<"TableName"> ( from Dictionary() )获得更好的性能吗?
给定一个表(来自数据库),它在列'X‘上有一个主键(集群索引),对具有列'X’上的键的相关元组的搜索将在O(log )时间内找到元组。再加上字典在内存中的好处,字典就轻松取胜了。给定一个高度并行(例如异步套接字服务器)的应用程序,它依赖于一个公共数据结构(即Dictionary vs Database)来维护应用程序范围的状态信息(例如连接的用户),其中50%的访问是读取,大约原因如下:
1)为了使字典对于并发访问是线程安全的,必须使用锁定机制。lock()将锁定整个