Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/270.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cocoa/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用select的SQL筛选与使用内存的lambda筛选_C#_Performance_Sqlite_Lambda - Fatal编程技术网

C# 使用select的SQL筛选与使用内存的lambda筛选

C# 使用select的SQL筛选与使用内存的lambda筛选,c#,performance,sqlite,lambda,C#,Performance,Sqlite,Lambda,我有一个C#的教堂服务程序,你可以从列表中选择一首歌,然后放在投影仪或屏幕上。这个列表目前保存在.txt文件中(我在几年前创建的),目前我有大约270首不同的歌曲 在程序中,您可以按歌曲标题和歌曲内容进行过滤和搜索。这是非常昂贵的,因为每次我搜索一些文本时,程序都会检查txt文件中270首歌曲中的每一首:每次都会打开、读取和关闭 现在我想更改并创建一个DB(SQLite)来保存和搜索歌曲和歌词 我的疑问是,如果每次我想查阅、筛选或搜索一首歌曲时都选择,在性能视图中什么更好?加载内存中的所有内容并

我有一个C#的教堂服务程序,你可以从列表中选择一首歌,然后放在投影仪或屏幕上。这个列表目前保存在.txt文件中(我在几年前创建的),目前我有大约270首不同的歌曲

在程序中,您可以按歌曲标题和歌曲内容进行过滤和搜索。这是非常昂贵的,因为每次我搜索一些文本时,程序都会检查txt文件中270首歌曲中的每一首:每次都会打开、读取和关闭

现在我想更改并创建一个DB(SQLite)来保存和搜索歌曲和歌词

我的疑问是,如果每次我想查阅、筛选或搜索一首歌曲时都选择,在性能视图中什么更好?加载内存中的所有内容并创建Lambda函数以改进搜索和过滤器是否更好?还是通过SQL进行每个操作更好

谢谢

PD:我添加了一些数字:

270首歌曲:磁盘空间总共约为1MB

每首歌5-6个频闪:1.620个频闪


每冲程4-5节:8.100节。

好消息是你不必在意。看,任何像过去60年左右那样编写的数据库,只要有足够的内存,都会在内存中保留它所能保留的内容。因此,除非卸载SqlLite并设置合理的内存限制,否则数据库最终还是会存储在内存中。如果不正确使用数据库,您(暗示)假设查询命中存储将是一个巨大的失败。特别是考虑到它是多么可怜(总共1mb)-我们不谈论可能挑战内存的十几GB内存db,该db小到足以在CPU缓存中结束