- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个大型主表 TableA,包含 1200 万条记录。其核心是:
表A:|--FieldA--|--FieldP--|--FieldS--|--FieldH--|--ValueField--|--FieldX--|
我从中创建了两个子表:
TableB 包含基于 FieldA、FieldP、FieldS 的大约 500 万条唯一记录,其中我还推送了 Value,因为我不需要 FieldX。我
表B: |--FieldA--|--FieldP--|--FieldS--|--FieldH--|--ValueField
TableC 包含大约 200,000 条记录,其中提取每个唯一 FieldH、FieldP、FieldS 的上限值和下限值字段:
表C: |--FieldP--|--FieldS--|--FieldH--|--MaxValue--|--MinValue--|
我最初忘记将 FieldH 推送到 TableB 中,并且在此期间做了很多工作,因此无法重做该步骤。
我无法测试性能,因此只需提出以下问题,希望这是足够的信息:
要使用 TableA 中开始的 FieldH 数据更新 TableB,我有两种选择:
Update TableB as T1
Inner Join TableA as T2
On T1.FieldA=T2.FieldA
And T1.FieldP=T2.FieldP
And T2. FieldS=T2.FieldS
Set T1.FieldH=T2.FieldH
我在每个选定字段上都有索引。
这对我来说似乎是一个巨大的加入。
我的另一个选择是使用范围并通过更多计算进行较小的连接:
Update TableB as T1
Inner Join TableC as T2
On T1.ValueField>=T2.MinValue
And T1.ValueField<=T2.MaxValue
Set T1.FieldH=T2.FieldH
我在值字段上也有一个索引。
显然,在后一种情况下,优点是它的连接要小得多,但另一方面,我向每个记录添加数字计算。我对索引、连接或计算的内部工作原理了解不够,甚至无法对哪个更好做出有根据的猜测。
我希望我在这里提供了清晰的图片。尽量不要添加更多并使问题变得过于复杂,如果有任何添加数据会有所帮助,我很乐意提供/详细说明。
最佳答案
我将向您推荐这个问题(我最终回答了):
Faster Update in specific case: Join Large with equals or smaller with >- and <=
这是这个的产物。我意识到这不是 >=<= 而是我的索引本身,特别是我需要创建一个复合索引并让 MySql 选择它。因此解决了这个问题。
长话短说,因为我需要连接两个具有串联 varchar 字段的大表,所以我创建了一个中间表并使用这些 ID 来连接。如果您需要详细信息,请参阅上面的链接。
最终,即使使用 >=<=,它也能很好地工作,事实上,它最终在一分多钟的时间内对 500 万条记录到 500 万条记录的表进行了 52k 次更新(之前每条记录需要 10 秒) )。
关于mysql - 特定情况下更新速度更快: Join Large with equals or smaller with >- and <=,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37148197/
在 Zurb Foundation 4 中,有没有办法在浏览器变小或屏幕变小时自动切换到较小的按钮样式? 例如,当屏幕是标准桌面屏幕时,执行此操作: Button 1 当屏幕尺寸变小时,执行此操作:
我需要根据列值计算与特定行不同的行数,同时避免循环解决方案。 示例:以一个包含四行的data.table对象A为例,每行代表一个人。每个人都有 3 个值 v1, v2, v3。目标是计算,对于特定的个
在 OCaml 表单教程的解决方案中 here ,关于消除连续重复的列表元素,代码是这样写的: let rec compress = function | a :: (b :: _ as t)
我正在尝试使用 Rmarkdown 进行非常简单的演示,不涉及任何 block 。我想要相当多的文字,所以没有打印出来,因为它们是不受限制的。 难道没有一个选项可以让 beamer 设置文本的大小以使
我有一个由 Date 分隔的数据列表, Team和他们的Category Score . Category Score每个 Team 的更改每天并根据他们当天的实际得分,我需要确定 Category
我想使用 dplyr 删除较小的组。例如,数据框: ID group value 1 1 6 2 1 2 3 2 0 4 2 5 5 2
我想做一个小书签,从某个网站获取一些信息。 在使用 $('#div').text(); 并避开 div 内的 html 元素后,我得到以下字符串: TOP-GOST
例如:a不小于b 这个怎么写? 最佳答案 if ($a >= $b) if !($a < $b) 关于php - 在 PHP 中我该如何写 : IS NOT SMALLER THAN,我们在Stack
我需要将科学信息存储在数据库 (sql server) 中。在“小于”、“大于”是信息的一部分的数据库中存储值的最佳方式是什么。 例子: 患者编号:123变异率:<3% 患者编号:999突变率:3%
如果窗口大小低于 500 像素,我想加载一个不同的 css 文件。我有 但是 main.css 总是覆盖 mobile.css,尽管窗口小于 500px。怎么了? 编辑:我改成了 但是当我将窗
我希望从一个独特的提交中制作一个交互式补丁。我想使用类似于 的输出 git diff --word-diff=porcelain [file] 用于交互式修补。命令 git add --edit 只推
Using Playwright and Python, how can I expect for count bigger or smaller than?使用Playwright和Pytho
Using Playwright and Python, how can I expect for count bigger or smaller than?使用Playwright和Pytho
我想写一些类似的东西: {-# LANGUAGE FlexibleContexts,FlexibleInstances #-} import Data.ByteString.Char8 (ByteSt
R 的 duplicated 返回一个向量,显示向量或数据帧的每个元素是否是具有较小下标的元素的重复项。因此,如果 5 行数据帧的第 3、4 和 5 行相同,则 duplicated 将为我提供向量
我用 chart.js 创建了一个折线图。我使用以下方法将图例符号形式从矩形更改为圆形: legend: { display: true, labels: { usePointStyl
我在 Plotly(针对 R)中制作了一个气泡图,但我不断得到重叠的标记。有没有办法“缩小”所有标记,以便保留它们的相对大小但没有重叠?我想保持绘图的尺寸相同。这是一个测试用例: test ", "D
我们正在开发一款安卓应用。文本在 5"设备上正确显示。但在较小的设备(4"、3.5")上被裁剪。为什么会这样?欢迎任何帮助。请参阅下面的屏幕截图。显示的是“Credit”、“Debit”和“Net”,
我有一个大型主表 TableA,包含 1200 万条记录。其核心是: 表A:|--FieldA--|--FieldP--|--FieldS--|--FieldH--|--ValueField--|--
我得到了这段代码: $userquery = mysqli_query($con, "SELECT *, ( 3959 * acos( cos( radians
我是一名优秀的程序员,十分优秀!