首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在决定数据库存储或文件库时,需要专家的意见

在决定数据库存储或文件库时,需要专家的意见
EN

Stack Overflow用户
提问于 2010-12-04 23:22:36
回答 2查看 106关注 0票数 0

嗨,朋友们

我有一个应用程序,在数据库中存储数以千计的文本文件,平均每个3KB。和另一个表,存储关于他们的简短信息,搜索频率更高。有140,000条记录,我的数据库性能变得太慢。

我认为我可以将这些文件存储在磁盘上,使我的数据库大小减少约80%。存储这些文件的目的只是为了显示(读取文件内容和显示),而不是为了对它们进行任何数据库操作。但是我的网站有大约1000个用户,我担心如果我将这些文件存储在磁盘上,情况会变得更糟(磁盘I/O操作增加,在不同的会话中读取文件可能会增加I/O来回移动硬盘磁头,而且我无法控制仅在一个线程中读取文件)

有谁有相关经验吗?

请帮我做这个决定。谢谢,谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-12-05 06:02:58

我会从字面上理解你的评论Please make this decision for me. THANKS THANKS

  • 在数据库服务器中安装至少8 db的内存(更好的SQL缓存)

将两个磁盘配置为镜像,并将应用程序数据库的日志文件放在镜像上。不压缩此磁盘(更快的日志文件写入速度)

将4个磁盘配置为Raid 10,并将数据库放在Raid 10上。请勿压缩此磁盘(读取性能优于raid 5)

配置单个磁盘作为tempDB的位置。不压缩此磁盘(隔离tempDB的活动)

仅在服务器上运行SQL server。

通过检查缺失的索引动态管理视图,确保数据库具有正确的索引。

确保您的数据库具有减少数据库和索引碎片的维护计划

从数据库中提取并重新加载每个“文本”文件。在加载文本文件之前,使用您选择的工具压缩(zip)该文件。以varbinary数据类型存储“text”文件。将应用程序配置为在显示之前解压缩文件(减少SQL存储'text‘的磁盘IO和客户端的网络io )

使用已知数量的用户和搜索对您的应用程序进行基准测试

定期将基准测试与client usageMonitor磁盘等待、网络IO和内存期间的实际值进行比较。

如果您的性能仍然很差,请联系SQL DBA来评估您的系统。我相信这个网站上的performanceDBA是做合同生意的。

票数 1
EN

Stack Overflow用户

发布于 2010-12-04 23:39:08

在没有更多信息的情况下,我建议您更深入地研究性能问题的根源。您的查询是否有效,是否有索引来支持您的查询。

关于在数据库中存储文件,这很有趣。我只能给出我个人的观点,通常我宁愿将文件存储在磁盘上,只存储对文件ie的引用。数据库中的路径。但这里有许多利弊需要考虑,其中一件事是您的备份需要跨越的不仅仅是数据库备份。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4354206

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档