Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.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/4/powerbi/2.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
Sql server SQL Server表或平面文本文件,用于不经常更改的数据_Sql Server_Database_Flat File - Fatal编程技术网

Sql server SQL Server表或平面文本文件,用于不经常更改的数据

Sql server SQL Server表或平面文本文件,用于不经常更改的数据,sql-server,database,flat-file,Sql Server,Database,Flat File,我正在构建一个.net web应用程序,它将涉及根据可接受的电子邮件地址列表验证电子邮件输入字段。最多可以有10000个可接受的值,它们不会经常更改。当他们这样做时,整个列表将被替换,而不是单个条目 我正在讨论实现这一点的最佳方式。我们有一个SQL Server数据库,但由于这些记录将是相对静态的,只能批量替换,因此我考虑只引用/搜索包含字符串值的文本文件。这似乎会使上传过程更容易,而将这些信息放在rdbms中几乎没有什么好处 感谢反馈。如果数据库已经存在,请使用它。您所说的正是数据库的设计目的

我正在构建一个.net web应用程序,它将涉及根据可接受的电子邮件地址列表验证电子邮件输入字段。最多可以有10000个可接受的值,它们不会经常更改。当他们这样做时,整个列表将被替换,而不是单个条目

我正在讨论实现这一点的最佳方式。我们有一个SQL Server数据库,但由于这些记录将是相对静态的,只能批量替换,因此我考虑只引用/搜索包含字符串值的文本文件。这似乎会使上传过程更容易,而将这些信息放在rdbms中几乎没有什么好处


感谢反馈。

如果数据库已经存在,请使用它。您所说的正是数据库的设计目的。如果以后你决定做一些稍微复杂一点的事情,你会很高兴与DB合作。

我将对你的情况做一些假设

  • 您的数据集包含超过1列的可用数据
  • 您的记录集包含的行数超过您将始终显示的行数
  • 您的数据需要格式化为某种输出视图(例如HTML)
  • 以下是半静态数据应该保留在SQL中而不是文本文件中的一些具体原因

  • 您不必每次希望读取和处理文本数据时都对其进行解析。(字符串解析是一个相对较重的内存和CPU负载)。SQL将把您的列存储为预解析的结构化数据
  • 您不必开发自己的行过滤或搜索算法(或者实现一个为您实现的库)。SQL已经是一个成熟的引擎,它应用了缓存、查询优化等高级算法(有许多底层高级算法用于搜索/搜索/扫描/索引/哈希等)
  • 随着时间的推移,您可以选择使用SQL来扩展解决方案的健壮性以及与其他工具的集成。(将数据放入文本或XML文件将限制未来的可能性)
  • 注意事项:

    • 您的特定SQL Server实现可能会受到磁盘IO和网络延迟性能的影响。为了优化磁盘IO性能,构造良好的SQL Server将数据文件(.mdf)放置在为快速读取而优化的快速多轴磁盘阵列上,并将其与为快速写入而优化的轴上的日志文件(.Log)分离
    • 您可能会发现SQL server的延迟和繁忙(一个字也没有)会影响性能。如果您运行的是非常繁忙或缓慢的SQL server,那么您可能会选择本地文件,在这种情况下,我建议使用结构化格式,如XML。(但是,如果您发现自己正在寻找解决办法来避免使用SQL server,那么最好投入一些时间/金钱来改进SQL实现

    只使用一个数据存储通常会容易得多,而且由于您已经在使用SQL Server,我真的看不到在web应用程序的文件系统中添加内容有任何好处……即使电子邮件列表不经常更改—只需将其放在表中并使用它!+1确切地说—如果该数据库已经存在d被使用-忽略它而使用其他东西有什么意义?谢谢。感谢分析。这只是一列数据…现在。我想这可能会改变