当前位置: 首页 > 面试题库 >

更新语句运行时间是否过长

沈树
2023-03-14
问题内容

我是处理这么多数据(2000万行)的新手,而且我不知道我对查询持续时间的期望是什么:

update table set field = '1234'

没有现场索引。这段陈述花了25分钟。数据库设置为简单恢复。25分钟似乎太长了吗?该表有9列,其中小数据类型<50 varchar。


问题答案:

如果您在一个事务中更新了2000万行,那么您的时间完全由IO子系统决定:您拥有哪种驱动器,磁盘文件的布局等等。如果RAID
40中有40个心轴,其中有4个平衡文件,另外还有一个类似的磁盘电池的日志,那么结果令人担忧的是缓慢。如果您在一个消费级质量5000rpm
HDD上使用一个与LDF共享主轴的单个MDF进行了测试,那么您的时间将会非常快。



 类似资料:
  • 问题内容: 我有本机查询要运行: 出于某种原因,Hibernate选择在执行选择之前进行更新,这确实干扰了我的数据 任何帮助将不胜感激,谢谢 问题答案: 您所描述的正是Hibernate的含义。 执行查询时对持久性上下文(1LC)的任何修改都将在执行查询之前自动清除,以确保数据库返回的结果与内存中修改所缓存的结果匹配。 如果查询将返回您要查看其更新的实体,则您可能应该重新评估您的操作,确保查询在更

  • 问题内容: 我需要在oracle表中更新新创建的列。为此,我需要使用行中的现有值来决定如何填充此列,但出现错误: 这是我的查询: 关于语法有什么建议吗? 问题答案: 您可以在子句中使用 CASE 表达式。 例如,

  • 问题内容: 我有2个表格,Products和ShoppingCart,我想根据ShoppingCart中指定的产品名称和数量来更新和减少Products表中产品的“数量”。我怎样才能做到这一点? 表:产品字段:产品名称,产品数量 表:购物车字段:ProductName,ProductQty 访问数据库 问题答案: 您应该有一个产品ID。然而: 您还应该在字段和表名中删除空格。

  • 问题内容: 我有这些表和值: 我想使用表1中的值及其各自的ID更新表2中的所有值。 有没有办法通过简单的SQL查询来做到这一点? 问题答案: 运行选择以确保它是您想要的 更新 另外,请考虑使用,以便在需要时可以将其回滚,但请在满意时再进行确认。

  • 问题内容: 在Oracle SQL Developer中输入SQL语句时,我注意到我有两个选择。我可以选择“运行语句”或“运行脚本”。尽管命名为“ Execute query”和“ Execute as script”,但在SQL Maestro中似乎也可以使用类似的选择。 两者之间到底有什么区别? 问题答案: 将在可排序的表格中为您提供所有结果的列表。它还将仅在光标(或突出显示)下运行该语句。运

  • 部署Hyperledger Composer后,您可能希望升级到新版本。要更新已安装的Hyperledger Composer版本,必须卸载客户端、管理员和运行时CLI组件,并使用npm重新安装它们。 过程 1.使用以下命令卸载Hyperledger Composer组件: npm uninstall -g composer-cli npm uninstall -g composer-