我正在开发一个项目,我需要存储大约15k Unicode 字符。存储它的最佳方法是什么?
主要应用程序在C#中,其他一些数据存储在SQL Server数据库中。这种大量的文本需要通过随机生成的输入键和类别键来识别。显然,可能/应该有多个具有相同类别键的条目。
将按类别键使用关键字添加,检索和搜索这些条目。
我目前正在考虑以下两种方式:(其他想法超过欢迎)
每个类别键表示为文件夹,每个条目作为文件使用输入键作为文件名。
要进行搜索,我只需使用Apache Lucene.Net项目来构建索引,然后通过它进行搜索。
只是在表格中存储为NVARCHAR(MAX)
类型的另一列。
哪种方式最好?我正在寻找其他选择,以及这些的优点/缺点。
答案 0 :(得分:2)
要回答您的问题,您必须回答以下问题:
nvarchar(max)
中的最大数据为2 GB。因此,假设您对此问题有答案,您可以自行决定。 我的建议 - 将大数据存储在文件或其他blob存储(azure blob,amazone等)中,并有一个包含此文件列表的表。
优点:
缺点:
答案 1 :(得分:0)
在一个数据存储区中拥有所有数据要容易得多。我会选择SQL服务器解决方案。
但是,如果您主要关注存储空间并且文本主要是ASCII,那么编码为UTF-8将节省约50%。 SQL Server不支持UTF-8,只支持UTF-16(UCS-2)。因此,保存单独的文件可能会带来好处。