SQL对多个表建立索引,可以做到吗?

2023-12-26

一直在寻找解决方案一段时间了

转到 (1) 或 (2) 跳过描述, 首先我会解释一下情况。

我公司已经升级了我们的 erp。系统,我的主要工作是创建公司其他人使用的列表,我从该系统数据库中获取所有数据 在升级过程中,我们转换了一些数据以匹配新版本,其中一些数据被留下,一些数据没有被篡改,只是直接导出到新数据库, 它在一个单独的服务器上, 新的 ERP 基本上是成功的。系统按预期工作, 然而我的很多清单都被破坏了, 我的列表使用的数据丢失/partly_missing/all_there

好吧,问题是旧数据库中缺少我需要的数据,好吧,新旧数据库的联合应该能够做到这一点,但是我不想要重复的记录,“转换到新数据库的数据也存在于旧数据库”因此可能存在两个字段“他们确实如此,我尝试过”

所以2.我的解决方案的版本

我缺少主键“iseries 数据库”,所以我将多个字段组合起来制作一个唯一键,“需要很长时间来解释我是如何做到这一点的” 然而,最终我在两个数据库上建立了联合视图,确保没有记录存在两次,

(1) 这就是我现在得到的, 新旧表数据组合的视图 所有这些都是通过对“uniqe”键的检查而构建的...... 每次我需要因升级而受影响的数据时,我都必须对每个表运行昂贵的查询,“有些表使用这些视图超过 40 次” (问题1)我如何“成本有效”地从两个不同的模式/数据库获取数据并绑定在一起?

(2) 我唯一能想到的给我这种性能的就是创建索引而不是我构建的这些视图,但是直到现在我还没有找到任何关于如何做的信息, (问题2)我可以在两个表上创建索引吗?

我的数据库是 as/400 - iseries 但是我对针对任何数据库类型的解决方案感兴趣, 我对资源非常灵活

:编辑: 用于创建视图的代码稍加修改,

SELECT

CTCONO,
CTDIVI,
CTSTCO,
CTSTKY,
CTLNCD,
CTTX40,
CTTX15,
CTPARM,
CTTXID,
CTRGDT,
CTRGTM,
CTLMDT,
CTCHNO,
CTCHID

FROM NEWDB.CSYTAB
UNION
SELECT * FROM OLDDB.CSYTAB

WHERE ( CTCONO,CTDIVI,CTSTCO,CTSTKY,CTLNCD ) NOT IN
(
SELECT A.CTCONO,A.CTDIVI,A.CTSTCO,A.CTSTKY,A.CTLNCD FROM NEWDB.CSYTAB A, OLDDB.CSYTAB B
WHERE A.CTCONO = B.CTCONO
AND A.CTDIVI = B.CTDIVI
AND A.CTSTCO = B.CTSTCO
AND A.CTSTKY = B.CTSTKY
AND A.CTLNCD = B.CTLNCD

)

答案是不。

我无法在多个表上创建索引。

我的解决方案是制作一个表格,在我的例子中也是一个视图, 或者我可以优化 SQL 代码。

EDIT

我刚刚了解到在 MS(至少 2012 版本)中您可以创建索引视图。因此,就我而言,我会将视图转换为索引视图,并获得巨大的性能提升。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SQL对多个表建立索引,可以做到吗? 的相关文章

  • 使用 .NET 中的类型化数据集将 SQL 参数传递给 IN() 子句

    首先道歉 因为该网站上有类似的问题 但没有一个直接回答这个问题 我在 VS 2010 中使用类型化数据集 我在数据集中创建一个 TableAdapter 查询如下 SELECT from Table WHERE ID IN IDs 现在如果
  • 如何引用下一行的数据?

    我正在 PostgreSQL 9 2 中编写一个函数 对于股票价格和日期的表 我想计算每个条目较前一天的百分比变化 对于最早一天的数据 不会有前一天 因此该条目可以简单地为 Nil 我知道WITH声明可能不应该高于IF陈述 到目前为止 这就
  • 如何连续添加起始行和下一行的值

    我只想创建一个 sql 查询 结果就像图片上的那样 类似于 SQL 中的斐波那契数列 Ex Column 1 10 则 Result 列的值为 Result 10 因为这是第一行 然后假设column1第二行的值为50 那么Result第二
  • 在 MS Access SQL 查询中从正常日期转换为 unix 纪元日期

    我正在尝试编写一个通过 ODBC 连接到 MySQL 数据库的 MS Access 2007 连接的查询 一切工作正常 查询执行我想要的操作 我挂断的部分是我一直在询问用户 unix 纪元时间 而不是常规日期 我查找了 MS Access
  • java库维护数据库结构

    我的应用程序一直在开发 所以偶尔 当版本升级时 需要创建 更改 删除一些表 修改一些数据等 通常需要执行一些sql代码 是否有一个 Java 库可用于使我的数据库结构保持最新 通过分析类似 db structure version 信息并执
  • C# using 语句、SQL 和 SqlConnection

    使用 using 语句 C SQL 可以吗 private static void CreateCommand string queryString string connectionString using SqlConnection c
  • 包含列和行总计的 SQL 数据透视表

    我正在尝试将行和列总计添加到该数据透视表中 create table test4 city nvarchar 10 race nvarchar 30 sex nvarchar 10 age int insert into test4 val
  • 选择多列 按一列分组 按计数排序

    我在Oracle中有以下数据集 c1 c2 c3 1A2 cat black 1G2 dog red B11 frog green 1G2 girl red 试图得到以下结果 基本上我首先尝试获取具有重复 c1 的行 c1 c2 c3 1G
  • Snowflake 中的动态 SQL

    当我在雪花中运行动态 SQL 时 遇到以下错误 未完成对 SQL MAIN 的分配 因为值超出了变量的大小限制 它的大小是263 限制为 256 内部存储大小以字节为单位 这是代码 SET v G 1 SET v G1 v G VARCHA
  • SQL - 需要查找重复记录但排除反向事务

    我有一张交易表 偶尔会有 重复条目 如果 当管理员发现这些重复条目时 他们将撤销交易 从而创建负值 但由于监管要求 原始重复条目仍然保留 我想创建一个 SQL 查询 并使用 Crystal Reports 来制作报告 以便管理员轻松查找重复
  • 将布尔参数传递给 SQL Server 存储过程

    我早些时候问过这个问题 我以为我找到了问题所在 但我没有 我在将布尔参数传递给存储过程时遇到问题 这是我的 C 代码 public bool upload false protected void showDate object sende
  • 插入记录后如何从SQL Server获取Identity值

    我在数据库中添加一条记录identity价值 我想在插入后获取身份值 我不想通过存储过程来做到这一点 这是我的代码 SQLString INSERT INTO myTable SQLString Cal1 Cal2 Cal3 Cal4 SQ
  • Oracle:按月分区表

    我的解决方案 德语几个月 PARTITION BY LIST to char GEBURTSDATUM Month PARTITION p1 VALUES JANUAR PARTITION p2 VALUES Februar PARTITI
  • 可以有一个带有可变列的表吗?

    这可能是一个愚蠢的问题 但这里是 是否可以创建一个能够包含具有可变列数和自定义列名称的行的动态表 我浏览过 EAV 建模 但看起来很沉重 现实生活中的例子可能是这样的 假设我有一个客户登记册 但每个客户可能需要输入不同的信息 根据您要输入的
  • ALTER TABLE 语句与 FOREIGN KEY 约束冲突

    为什么要添加外键tblDomare表导致此错误 ALTER TABLE 语句与 FOREIGN KEY 约束 FK tblDomare PersN 5F7E2DAC 冲突 冲突发生在数据库 almu0004 表 dbo tblBana 列
  • 支持 >65k 行的 Excel VBA SQL 驱动程序

    在 Excel 2010 中通过 VBA 查询 Excel 数据时 我遇到一个有趣的问题 我正在使用这些驱动程序连接到 xls 或 xls x m 文件 Sub OpenCon ByRef theConn As Connection ByV
  • 无法与重定向器建立连接。确保“sql browser”服务正在运行

    所以我尝试这个 sql server 2012 由于这个错误我无法打开任何 ssis 包 无法与重定向器建立连接 确保 sql browser 服务正在运行 我的 Sql 浏览器肯定正在运行 我尝试在本地服务 本地系统和网络下更改它 仍然没
  • 针对约 225 万行的单表选择查询的优化技术?

    我有一个在 InnoDB 引擎上运行的 MySQL 表 名为squares大约有 2 250 000 行 表结构如下 squares square id int 7 unsigned NOT NULL ref coord lat doubl
  • 查看Jasper报告执行的SQL

    运行 Jasper 报表 其中 SQL 嵌入到报表文件 jrxml 中 时 是否可以看到执行的 SQL 理想情况下 我还想查看替换每个 P 占位符的值 Cheers Don JasperReports 使用 Jakarta Commons
  • 使用用户定义函数 MySql 时出错

    您好 请帮我解决这个问题 提前致谢 我在数据库中定义了这些函数 CREATE FUNCTION levenshtein s1 VARCHAR 255 s2 VARCHAR 255 RETURNS INT DETERMINISTIC BEGI

随机推荐

  • 使用 php 更改 css 背景图像

    我正在为这个网站做一个个人资料 我想做一个像 Facebook 那样的封面照片元素 我遇到的问题是 首先如何保存封面的背景图片 比如 我可以将图像的 url 保存在数据库中 但是我如何才能将其放入 css 中呢 我真的不想只是说 div s
  • 如何覆盖父/扩展元素内部的 Xsd 元素

    我正在我的公司创建一个新的数据交换服务 我们想要扩展 core xsd 定义文件中定义的现有对象 这是我需要做的一个例子
  • 当鼠标悬停在浏览器栏/后退按钮上时,Javascript 弹出窗口

    我想在这个页面上模仿这个确切的功能 将鼠标移向顶部浏览器栏 http my personal growth com personal growth what anthony robbins teaches about emotions an
  • iOS 9 中的 Facebook 登录 SDK

    我正在使用 facebook 登录 SDK 它在 iOS 7 8 和 9 中完美运行 但是 如果手机有 facebook 应用程序登录验证 则可以在 iOS 7 和 8 中打开该应用程序 但 IOS 9 无法打开 facebook 应用程序
  • 如何在 Neo4j 中有效地创建独特的关系?

    跟进我的问题here https stackoverflow com questions 29873015 create on not match command for neo4js cql noredirect 1 comment486
  • keras.argmax中axis=-1的含义是什么?

    我是 Keras 的初学者 需要帮助才能理解keras argmax a axis 1 and keras max a axis 1 是什么意思axis 1 when a shape 19 19 5 80 以及输出是什么keras argm
  • JavaScript 中循环 2 个数组无法正常工作

    我有以下 JavaScript 代码 据我所知 该代码应该仅输出一次日期和相应的计算值 但是由于某种原因 我看到内部的输出不正确parseData日期记录两次并且值被覆盖的函数 我不确定是什么导致了这里的问题 这是可以使用 node js
  • 是否可以在 JavaScript 中实现动态 getter/setter?

    我知道如何为名称已知的属性创建 getter 和 setter 方法如下 A trivial example function MyObject val this count 0 this value val MyObject protot
  • 使用 SheetJS 将包含合并单元格的 .xlsx 文件转换为 JSON

    我正在尝试使用 SheetJS 读取 xlsx 文件并将其转换为 JSON 我能够读取简单的 没有合并单元格 xlsx 文件并将其转换为 JSON 但我无法正确处理合并单元格 问题是我有一个 xlsx 文件 其中包含不同语言的产品 我尝试在
  • MVC 嵌套视图和部分视图

    我正在使用 MVC 3 创建原型项目 我遇到了一种情况 我似乎无法找到答案 而且似乎我可能以错误的方式处理问题 我的项目的快速概述 它基于您通过 Visual Studio 获得的 MVC 模板 我使用提供的 Layout 视图上的链接 选
  • 使用 AMD 和 webpack 在浏览器中拉入 sinon 子模块

    我遇到了中描述的相同问题这个问题 https stackoverflow com questions 20570301 typeerror undefined is not a function evaluating sinon spy 基
  • 将方法传递给整个对象,还是传递该对象的属性,哪个性能更高?

    考虑以下示例 我需要检查 CouponModel 是否有唯一的序列号 我有两个选择 CouponModel model GetFromSomewhere if CouponHasUniqueKey model or if CouponHas
  • 如何判断Dart列表是否是固定列表?

    如何在运行时确定 Dart 中的列表是否是 固定列表 在 Dart 中 至少 有三种创建固定长度列表的方法 var fixed new List 5 fixed at five elements var alsoFixed new List
  • 在 WPF 中打开模式对话框时主窗口呈灰色

    当从主窗口打开模式对话框时 我想用灰色覆盖主窗口 WPF中有没有标准的解决方案来模拟这种效果 这里有一个例子 没有内置的功能 但它应该很容易实现 在主窗口中 您需要在顶层有一个没有定义的列或行的网格 因此它只是一个占据所有客户区域的单元格
  • 在文本字符串中查找特定术语并在上一列中返回该术语

    由于某种原因 我无法弄清楚第一个返回是否有效 但是当我向下拖动时 其他结果返回为 VALUE IF FIND Drummondville B3 gt 0 Drummondville IF FIND Saint Germain de gran
  • 检查设备是否可以使用 Cordova 解码视频

    我在用着VR view https developers google com vr concepts vrview在我的 Ionic Cordova 应用程序中 VR view 的文档指出 某些较旧的设备无法解码大于 1080p 1920
  • 设置 RStudio Portable 默认 R 版本

    我最近发现了 R 和 RStudio 的便携式版本 http rportable sourceforge net http rportable sourceforge net 开源岩石 无论如何 我在大学里从一台电脑跳到另一台电脑 我想让
  • 如何以 Rails 形式链接下拉菜单

    如何在 Rails 页面上链接下拉菜单 两个下拉列表都来自数据库 例如 如果第一个下拉列表是category 即将形成category桌子 第二次下降 products 也来自数据库 将根据第一个下拉菜单的选择进行填充 您可以使用 coll
  • SQL Server 中有类似“生存时间”的选项吗?

    SQL Server 中有类似 生存时间 的选项吗 最近我了解了Scylla DB中的Time to Live 我想知道跨数据库尤其是 SQL Server 是否可以使用相同的选项 我在 Internet 上搜索过 但找不到 SQL Ser
  • SQL对多个表建立索引,可以做到吗?

    一直在寻找解决方案一段时间了 转到 1 或 2 跳过描述 首先我会解释一下情况 我公司已经升级了我们的 erp 系统 我的主要工作是创建公司其他人使用的列表 我从该系统数据库中获取所有数据 在升级过程中 我们转换了一些数据以匹配新版本 其中