问题标签 [database-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 投票
5 回答
31928 浏览

mysql - 如何分析 MySQL

如何分析 MySQL 数据库。我想查看针对数据库运行的所有 SQL。

我知道你可以这样做:

  • set profiling=1;
  • 运行你的慢查询(例如SELECT * FROM messages WHERE fromaddress='xxx';
  • SHOW PROFILES;

但这似乎只适用于在命令行上运行的东西,我想看看运行网站的结果。

0 投票
4 回答
145 浏览

mysql - 在“上线”之后调整数据库有多容易(或以其他方式)?

它看起来越来越像我必须在我有时间调整所有查询/表格等之前上线,然后再上线一个网站(已经比计划晚了 6 个月,所以尽管这不是理想的场景- 事情就是这样)。

它现在不得不咬紧牙关。这只是一个尝试计算当我们“咬”它时子弹会有多大的例子。一旦数据库上线,显然我们不能随心所欲地更改数据,因为它是实时数据。我对大多数 db 模式相当有信心——例如,表是大多数 3 和 4 范式,并且使用约束来确保数据完整性。我还在某些列上放置了一些索引(我认为)将在查询中大量使用,尽管这样做非常匆忙并且没有经过测试 - 这是我担心的一点。

澄清一下,我不是在谈论批发结构变化。表格本身不太可能改变(如果有的话),但是几乎可以保证我将不得不在某个阶段调整表格(个人或通过雇用某人)。

我想知道这是一项多么艰巨的任务。具体来说,假设一个数 GB 的数据库(到目前为止大约 300 个表)

假设 50% 的表需要在接下来的几个月内进行调整:

  1. 执行调音需要多长时间(我知道这是一个“一根绳子有多长”类型的问题) - 但是需要努力的主要决定因素是什么,所以我可以计算出它可能需要多长时间拿?

  2. 是否可以在重新设计索引时锁定数据库的部分(或特定表),或者整个数据库是否需要脱机?(我使用 mySQL 5.x 作为数据库)

  3. 我所描述的(在所有表完美调整之前上线)是否存在极大的风险/不可取?(这是否证明了这几个月给我造成的不眠之夜)?

0 投票
2 回答
211 浏览

sql-server - 如何跟踪查询缓存的改进?

我正在参数化我的网络应用程序的临时 sql。因此,我预计查询计划缓存的大小会减小并具有更高的命中率。也许甚至其他重要的指标也会得到改进。

我可以使用 perfmon 来跟踪它吗?如果是这样,我应该使用什么计数器?如果不是 perfmon,我如何报告此更改的影响?

0 投票
1 回答
1257 浏览

db2 - DB2 增加缓冲池大小和压缩表不等于更好的性能。为什么?

我正在调整和提高我的 IBM DB2 9.7 版数据库的性能。过去几天我一直在网上搜索并了解到如果我在 COMPRESS 模式下创建我的表并创建了一个缓冲池并将它们都设置为访问 1024mb,那么我的查询性能应该会提高,因为更少的磁盘 I/O。

但是,当我运行时间分析时,性能Decrease。我使用我一直使用的索引将新添加的内容添加到我的常规数据库中。每次我在 google 上搜索时,我都会想到以下语句:增加缓冲池大小和几个缓冲池以及表压缩应该证明可以获得更好的性能。

我对总的意外结果感到非常困惑。是否有一些我忘记的调整机制,或者有人对这种奇怪的行为有解释吗?

真挚地

梅斯蒂卡

0 投票
9 回答
269084 浏览

python - 如何使用 Python 的 timeit 为代码段计时以测试性能?

我有一个可以正常工作的 python 脚本,但我需要编写执行时间。我用谷歌搜索了我应该使用的timeit,但我似乎无法让它工作。

我的 Python 脚本如下所示:

我需要的是执行查询并将其写入文件所需的时间results_update.txt。目的是使用不同的索引和调整机制测试我的数据库的更新语句。

0 投票
1 回答
17468 浏览

oracle - 加快 Oracle Text 索引或让索引器仅在低负载时间下工作

我们正在使用 Oracle Text CTXSYS.CONTEXT 索引来索引大约 50 万行包含元信息的行。信息分布在由索引器在运行时调用的过程(功能索引)组合的两个表中。

当我在本地机器(简单的双核笔记本)上运行 CREATE INDEX 时,索引会在大约 3 分钟内建立。在我们的数据库服务器上,它在 Solaris 上运行,具有 8 个内核和 16G 的 RAM,它需要大约 24 小时才能为相同(完全相同)的数据创建索引。

示例代码: 这是我们的两个表和 3 列的索引馈送器:

这些是偏好

现在我们创建索引

数据主要由一个简单的标题或作者姓名 + 一个小于 1k 文本的简短描述组成。

我尝试对涉及的内存设置和 PARALLEL 参数进行一些尝试,但没有任何成功。所以我的问题来了:

  • 有没有办法暂停和恢复索引过程(我手头有 CTX_SYS 角色)?
  • 有没有人暗示可以调整哪个参数(尤其是内存大小)?
  • 是否可以导出和导入文本索引?-> 然后我可以在我的本地机器上执行索引并将其复制到我们的服务器
  • 索引器可以以“较低优先级”运行吗?
  • 索引器可能已受到锁定操作的干扰(它是其他人并行访问的登台机器)。有没有办法锁定所涉及的表,创建索引并在之后解锁它们?
0 投票
4 回答
4445 浏览

sql-server - 可以在运行优化顾问之前从 SQL Server Profiler 跟踪数据中删除“exec sp_reset_connection”吗?

根据我已阅读的有关在存在连接池时出现在 SQL Server Profiler 跟踪数据中的“exec sp_reset_connection”的信息,将其从数据库考虑的跟踪数据中删除/排除似乎是安全的——或者说是合乎逻辑的调优顾问。有什么想法或反对意见吗?

0 投票
3 回答
1039 浏览

sql-server-2005 - 撤消 SQL Server 数据库优化所做的更改

我不确定这个问题是否可以在这里问或服务器故障。我想知道...除了从备份中恢复之外,有没有一种方法可以快速撤消 SQL Server 2005 Tuning Advsor 所做的更改?

0 投票
1 回答
221 浏览

sql-server - 我找不到 SQL Server 2005 数据库优化顾问

我在我的计算机上找不到 SQL Server 2005 数据库优化顾问。安装 SQL Server 2005 时是否需要特别选择?

我查看了所有程序 -> Microsoft SQL Server 2005 以及 C:Program Files Microsoft SQL Server 目录,但没有看到任何可能的内容。

0 投票
1 回答
2748 浏览

mysql - 哪个数据库是面向性能的,MySQL 还是 MariaDB?

哪个数据库是面向性能的,MySQL 还是 MariaDB?

哪种存储引擎更适合以下所有情况?

  • 应该是可扩展的数据库
  • 查询处理速度快
  • 有社区支持
  • 有很多教程或任何其他替代品吗?