问题标签 [sql-tuning]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3207 浏览

sql - oracle 11g 透视查询优化 - 多行到单行

我有下表

我想编写一个查询,它将从上面的所有表中获取数据,如下所示:(如果可用,技能将是该用户的第一个技能,否则为空)

我已经尝试如下但遇到性能问题:

我怎么能把它写成 Oracle 11g 的优化查询。

0 投票
0 回答
172 浏览

mysql - MySQL read-heavy 在 MyISAM 上存在插入和更新问题

我有一个数据库,大多数表都在 MyISAM 中,并检查了 MySQLTuner 和 Tuning-primer 以优化 MySQL 服务器变量,例如 key_buffer_size、max_connections、open_tables 限制等。读取占 80%,写入占 20%。

我最近一直遇到问题,有时没有插入数据。我已经检查了几次,如果它是如何插入数据的问题,比如奇怪的字符,但不是问题。似乎数据库太忙了,以至于插入和更新失败,大约有 4 个表被大量读取。但是,在很少有读取的表上进行插入,仍然无法插入。我了解 MyISAM 会锁定表,但我不知道如果其他表没有被读取,它会如何影响其他表也无法插入。

你有什么建议吗?

我使用 MyISAM 的主要原因是它比我使用 InnoDB 进行的选择要快得多。查询总是使用索引,我运行explain extended以确保一切正确,并且响应时间非常低,以避免服务器负载和堆积连接。

感谢您的评论。

0 投票
2 回答
1826 浏览

sql - oracle中删除表中包含1.8亿条记录

朋友们,

我有订单表,每个表中至少有 1 亿条记录。我们有一个正在运行的作业,它调用一个存储过程,该过程每天删除至少 50K (MIN) 和 200K (MAX) 记录。

我目前正在使用 SQL BULK COLLECT 从表中删除记录。目前删除 50K 需要 4 个多小时,这非常慢。

在谷歌搜索后,找出CTAS方法,即创建表并保留我们想要的记录并删除现有的记录并重命名临时表。我不能这样做,因为这个选项不被接受,因为表格更重要。

您能否提出一些解决方案来提高其性能?

提前致谢!!

0 投票
1 回答
70 浏览

sql - 提高 select 语句的性能

我遇到了 Select 性能问题,如何使这个 SQL 更高效?

这是我的执行计划: 解释计划

PS.:我对sql tunnig一无所知:(

0 投票
2 回答
94 浏览

sql - SQL 查询性能调优

任何人都可以提出一种优化查询的方法。现在需要超过5分钟。

表 nc 有 1600 万条记录,表 nas_backup 有 200 万条记录。

0 投票
1 回答
920 浏览

sql - 需要在 DB2 中使用基于时间戳的 group by 优化慢查询

要求:按年和省创建的计费记录数。

数据库: DB2 9.5

下面是用于获取详细信息的查询,它需要大量时间,超过 1 小时并且超时。

每个表中的记录数如下。计费:900 万覆盖:100 万客户:300 万地址:400 万。

Created 是一个时间戳列。

由于查询中没有where子句,查询变慢了。请让我知道是否有任何方法可以优化查询。

0 投票
1 回答
328 浏览

sql - 自加入使我的任务在 Oracle 11g 中运行缓慢

我有一个名为 as 的表event_extra,用于根据某些条件查找重复项,我编写了以下自联接查询,但是当记录更多(100 万)时,它会花费很多时间。

表字段如下

这张桌子Unique index上有evt_id

自加入查询

是否有任何其他方法可以提高上述查询的性能?

0 投票
1 回答
1273 浏览

sql - PL/SQL Developer 在包含注释时运行查询更快

我正在尝试提高针对 Oracle 10g 数据库的 SQL 查询的性能。我有以下两个查询:

查询 1

查询 2

如您所见,这两个查询之间的唯一区别是顶部的注释。

出于某种原因,当我query 2在 PL/SQL 开发人员中多次运行时,它会在一秒钟内完成。当我query 1在同一环境中多次运行时,需要 15 秒才能完成。

我检查了返回的行,并且都返回了相同数量的具有相同数据的行。

为什么查询 2 会更快完成?
我相信这可能是 PL/SQL Developer 中的一个设置给了我错误的信息。

注意
所有这些最初都是为 8i 编写的,我正在为 10g 改进它。

0 投票
1 回答
225 浏览

mysql - 在 MySql 中的 Varchar 列上设置索引

在 MySql 中,我有一个 UNION 查询,它需要很长时间才能执行。查询看起来像

问题是为了获得上述查询的最佳性能,需要索引哪些列以及为什么?

0 投票
1 回答
1145 浏览

performance - 使用 ROWID 和 ORA_ROWSCN 调整查询

我有一个以下查询,由于表非常大,因此需要花费大量时间,该查询还获取伪列 ROWID 和 ORA_ROWSCN。

我尝试使用提示 ALL_ROWS 并运行统计信息,但仍然没有太大帮助。请建议。提前非常感谢。