提高大小超过 40 GB (Sql Server 2005) 且每月增长约 3GB 的数据库性能的技巧

2023-12-29

当前的数据库或我们的项目本月已超过 40 GB,平均每月增长约 3 GB。现在,所有表都已最佳规范化,并且已使用正确的索引。但随着规模的增长,即使是像“select count(1) from table”这样的基本查询,也需要更多的时间来触发。那么您能否分享一些在这方面有帮助的更多观点。数据库是Sql Server 2005。此外,如果我们实现分区,是否会产生开销?

提前致谢。


  1. 确保你有合适的/适当的索引
  2. 确保您有良好的索引维护策略(例如重建/碎片整理/保持统计信息最新以确保索引保持良好的性能)
  3. 识别性能不佳的查询并优化它们(可能是针对小数据量编写/测试的,而性能问题不会出现)
  4. 考虑对数据进行分区(例如,如果您有企业版,则 SQL 2005 及更高版本内置了对分区的支持)。编辑:为了详细说明 SQL Server 分区,我强烈建议通读this http://msdn.microsoft.com/en-us/library/ms345146(SQL.90).aspx有关原因和方法的 MSDN 文章。总而言之,Randy Shoup(eBay 架构师)在 QCon 2008 上也发表了一篇关于可扩展性的精彩演讲,其中扩展系统的关键点之一就是分区。总结了一下here http://www.infoq.com/articles/ebay-scalability-best-practices.
  5. 您的数据库服务器硬件足够吗?它可以从更多的内存中受益吗?编辑:查看您的硬件信息评论,我认为您可以(至少)在其中投入更多内存
  6. 您可能会从一些非规范化中受益。在不知道确切的数据库结构的情况下很难具体化,但非规范化可能会以数据重复/磁盘空间为代价来改进某些查询
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

提高大小超过 40 GB (Sql Server 2005) 且每月增长约 3GB 的数据库性能的技巧 的相关文章

  • 为什么 SSRS 报表从 SQL Server Reporting Services 运行时生成的数据与使用“预览”选项卡运行时生成的数据不同?

    我有一个运行我想要的数据的报表 从 预览 选项卡 即 或者在 VS 2010 中使用 F5 运行时 但是当我将报表 rdl 文件 上传到 SQL Server Reporting Services 并运行更新后的报表时从那里报告 它仍然显示
  • 使用 AT TIME ZONE 获取指定时区的当前时间

    我正在尝试使用新的在 SQL Server 2016 和 Azure SQL 中 我只是想获取伦敦的当前时间datetime 针对夏令时进行调整 运行以下所有命令时 伦敦时间为凌晨 3 27 点 第一步是获得一个datetimeoffset
  • SQL查询获取最后两条记录的DateDiff

    我有一个名为 Event 的表 其中 eventNum 作为主键 日期作为 SQL Server 2008 R2 中的 datetime2 7 我试图获取表中最后两行的日期并以分钟为单位获取差异 这就是我目前所拥有的 Select DATE
  • 如何优化 R 中的 sapply 来计算数据帧上的运行总计

    我在 R 中编写了一个函数来按月份计算累积总数 但随着数据集变大 我的方法的执行时间呈指数增长 我是一名 R 程序员新手 你能帮我提高效率吗 该函数以及我调用该函数的方式 accumulate lt function recordnum d
  • 调整 Oracle 数据库以加快启动速度(闪回)

    我正在使用 Oracle 数据库 11 2 我有一个场景 我发出FLASHBACK DATABASE经常 似乎有一个FLASHBACK DATABASECycle 会重新启动数据库实例 大约需要 1 分钟 我的设置花了 7 秒 数据库很小
  • 从 SQLCE 4 迁移到 SQL Server 2008

    因此 作为早期采用者 我开发了一个基于 SQLCE4 ASP Net MVC3 和实体框架CTP5 http www microsoft com downloads en details aspx FamilyID 35adb688 f8a
  • 如何在SQL Compact Edition中导入数据? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 我似乎没有找到合适的工具 也没有找到
  • SSIS 包失败并出现“无法获取连接”错误

    我们有一个从 Web 服务启动的 SSIS 包 在开发环境中 一切正常 但在 QA 环境中 尝试运行包时出现以下错误 无法获取连接 ConnectionName 连接可能未正确配置 或者您可能没有正确的权限这个连接 连接使用 SQL 登录
  • 如何加速我的 Perl 程序?

    这确实是两个问题 但它们非常相似 为了简单起见 我想我应该把它们放在一起 Firstly 给定一个已建立的 Perl 项目 除了简单的代码优化之外 还有哪些不错的方法可以加速它 Secondly 用Perl从头开始编写程序时 有哪些好的方法
  • SQL Server 之间

    我有一个表 其中有年 月和一些数字列 Year Month Total 2011 10 100 2011 11 150 2011 12 100 2012 01 50 2012 02 200 现在 我想要SELECT2011 年 11 月至
  • 如何针对 IE 进行优化?

    我有一个 JS 密集型应用程序 它在 IE 中运行缓慢 我将花费大约一周的时间来优化 IE 并且我想要一些关于尝试的方向 我发现这个线程引用Drip https ieleak svn sourceforge net svnroot iele
  • Getter 和 Setter。有性能开销吗?

    我的 C 项目中有一个粒子系统引擎 粒子本身只是没有函数的变量结构 目前 每个粒子 Particle 都是通过直接访问其变量来从其父类 ParticleSystem 进行更新 例如 particle x particle vx 然而 我正在
  • 数据结构的优化存储以实现快速查找和持久化

    Scenario 我有以下方法 public void AddItemSecurity int itemId int userIds public int GetValidItemIds int userId 最初我正在考虑表单上的存储 i
  • Invoke-Sqlcmd 运行脚本两次

    我遇到了一个非常奇怪的问题并且可以重复 基本上 我使用invoke sqlcmd通过使用 inputfile来调用脚本文件 但是如果脚本文件存在一些执行错误 例如插入到列不应为空的表中 则脚本文件将被执行两次 我也可以从探查器中看到这两个执
  • 删除原始数据中部分重复的记录

    我需要删除表中时间间隔为 1 或 2 分钟或相同且必须相同的所有记录ID但保留第一个记录 ID Time SN SD WE FW 10 2014 06 30 19 17 37 000 I 0 100 0 10 2014 06 30 19 1
  • SQL Server:删除除系统数据库之外的所有数据库

    在 PowerShell 中 我使用以下代码删除所有非系统 SQL Server 数据库 invoke sqlcmd ServerInstance sqlInstanceName U sqlUser P sqlPass Query EXEC
  • 清除表中的所有行将身份规范重置为零并且不影响外键?

    我们已经创建了数据库框架以及所有关系和依赖关系 但表内部只是虚拟数据 我们需要删除这些虚拟数据 并开始添加正确的数据 我们怎样才能清除所有内容并将主键 IsIdentity 是 保留为零 并且不影响外部表关系结构 多谢 您可以采取以下步骤
  • C++ OpenCV imdecode 慢

    我将图像的字节数组从 C 发送到 C 库 我使用 OpenCV 版本 3 3 1 解码图像 BMP 图像解码速度很快 但 JPEG 图像解码速度很慢 如何加快 JPEG 图像的解码时间 多线程 GPU 解码性能 Resolution For
  • 我的 Delphi 11.1 调试器在 x64 项目上突然变得非常缓慢;大约一周前还可以。有什么想法吗?

    更新 拔掉网络 电缆和wifi 会导致 几乎 恢复正常的调试速度 已尝试禁用防火墙没有任何变化 但没有网络恢复正常服务 更新 2 所有 Windows x64 版本都存在缓慢问题 而不仅仅是单个大型项目 如果我构建并调试 32 位 Wind
  • CoreAnimation 性能分析 - CAReplicatorLayer 与 CAShapeLayer

    我正在制作一个依赖 CoreAnimation 的应用程序 它有一个 CAReplicatorLayer 和一个 CAShapeLayer 作为子层 当进行 12 次复制 然后对路径进行动画处理 在 touchMoved 上更改它 时 一旦

随机推荐

  • C# 异步任务无限期等待

    我正在尝试使用 异步 和 等待 提供的功能来异步下载网页内容 但我遇到了任务永远等待完成的问题 您能否让我知道以下代码片段有什么问题 protected void Page Load object sender EventArgs e va
  • Python 中的静态数组

    我正在学习如何用 python 编程 同时也在学习理论作为计算机科学课程的一部分 在编程中 我知道我可以通过使用 append 函数向数组添加其他变量 但是在我的理论课程中 我们被告知数组的大小既不能增加也不能减少 这在Python中是如何
  • 我希望我的 pre('save') 猫鼬函数只运行一次

    我不知道标题中的确切要求是否可能 但如果不可能 我真的很感激一个替代解决方案 我有猫鼬的预保存方法 ownerSchema pre save function next const owner this bcrypt genSalt 10
  • 创建对象时出现错误“存在显式转换(是否缺少强制转换)”:

    我有兴趣学习 OOP 概念 在尝试使用继承的简单程序时 我注意到这个错误 我不明白为什么会出现这个错误 我给出了下面简单的 C 代码 class Animal public void Body Console WriteLine Anima
  • *onbeforeunload* 是否在 Safari (macOS) 上缓存?

    我添加了一个事件监听器beforeunload 按照惯例 https developer mozilla org en docs Web API WindowEventHandlers onbeforeunload在我的 JS ReactJ
  • 重新使用现有 Microsoft Identity 用户表时密码(哈希)不匹配

    我们有一个现有的 SQL 数据库微软身份表 最初由 ASP NET Core 应用程序生成 我们还有一个 ASP NET 4 应用程序 它也使用 Microsoft Identity 我们希望 ASP NET 4 应用程序能够使用同一数据库
  • subversion中“让深度粘性”有什么作用?

    我很难找到有关在 SVN 工作副本上使用粘性深度设置的行为的明确文档 在 SVN 中 当使用 更新到修订版本 对话框时 会有一个 使深度粘性 复选框 使深度粘性和非粘性之间有哪些有效区别 当深度为粘性时 您每次更新时都将使用相同的设置进行更
  • PHP以真正的二进制方式读取二进制文件

    我在谷歌上搜索了我的问题 但没有找到解决方案 我想读取一个文件并将缓冲区转换为二进制 例如 10001011001011001 如果我从文件中有这样的东西 bmoov lmvhd tF tF K T trak tkh d tF tF K e
  • Symfony 2:安装并启用 intl 扩展

    我在用着XAMPP for Windows并决定尝试一下Symfony 2 当我到达时Symfony Configuration它建议我安装并启用的页面intl 我尝试阅读PEAR s and PECL s指导 因为我完全0关于这个主题 开
  • std::ostringstream 覆盖初始化字符串

    以下代码会生成 0004567 铿锵 7 https repl it agustinf ostringstream bug or anti feature main cpp include
  • 连接到 Github 时“无法生成 ssh”,但 ssh -T [电子邮件受保护] 有效?

    我很难让 Github Netbeans 正常工作 我想将 ssh 与 git 在 Windows 7 上 结合使用来提交或克隆项目 但我不断收到此错误消息 git clone email protected cdn cgi l email
  • NSOutlineView 缩进问题

    我使用 NSOutlineView 对象来表示文件结构 并发现它不会正确缩进任何可扩展的子项 尽管它会缩进不可扩展的子项 这是一张图片来说明我的意思 在此示例中 AnotherFolder 是 Folder2 的子级 但它没有与其他缩进文件
  • F# 中的代码分析

    作为一名 C 开发人员 我从 Microsoft 的代码分析中受益匪浅 然而 在 F 中 代码分析似乎并不是开发周期的一个组成部分 我花了一段时间才在 F 项目上启用 CA 但这博客有帮助 http blog nikosbaxevanis
  • 将 div 水平和垂直居中,并在调整父级大小时保持居中[重复]

    这个问题在这里已经有答案了 我想始终将 div 水平和垂直居中 我可以减少 增加窗口的宽度 div 将通过始终保持在窗口的中心进行响应 cent height 50px width 50px background color black m
  • 是否可以使用 winmerge 查看 cygwin 的 git diff?

    我喜欢在 cygwin 上使用 git 但唯一的缺点是当我想这样做时git difftool我无法使用任何有用的东西 git diff大多数时候对我来说很好 但有时我想使用 winmerge 通过以下方式查看这些差异git difftool
  • 想要将特定的 div 向右移动

    我想将特定的 div 移到右侧 以便左侧的 div 获得更多空间来显示其中的内容 我在 CSS 中尝试了一些东西 但我知道我做错了 在 CSS 中 我 login box width 200px margin left 50px 您可以在该
  • 查找所有子项完全匹配的父项 ID

    场景 假设我们有一组代表四个关键概念的数据库表 实体类型 例如帐户 客户等 实体 例如上述实体类型的实例 同类群组 命名组 群组成员 组成群组成员的实体 群组的规则是 一个队列始终至少有一名队列成员 群组成员对于该群组必须是唯一的 即实体
  • Tensorflow、多标签精度计算

    我正在研究多标签问题 并试图确定模型的准确性 我的型号 NUM CLASSES 361 x tf placeholder tf float32 None IMAGE PIXELS y tf placeholder tf float32 No
  • 如何在 iOS 应用程序中阻止屏幕截图

    我想构建一个应用程序 在其中我想阻止用户的屏幕截图 就像在 Netflix 应用程序中一样 它应该像在 Netflix 中一样返回黑屏截图 现在我无法得到任何有关此事的信息 不知道Netflix是怎么处理的 有什么方法可以检测块中捕获的图像
  • 提高大小超过 40 GB (Sql Server 2005) 且每月增长约 3GB 的数据库性能的技巧

    当前的数据库或我们的项目本月已超过 40 GB 平均每月增长约 3 GB 现在 所有表都已最佳规范化 并且已使用正确的索引 但随着规模的增长 即使是像 select count 1 from table 这样的基本查询 也需要更多的时间来触