问题标签 [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 投票
1 回答
1657 浏览

sql - postgres 综合性能

我注意到 Postgres (8.3) 中的简单聚合性能存在一些问题。问题是,如果我有一个由 (customer_id,order_id) 唯一的表(比如 200M 行),那么查询select customer_id,max(order_id) from larger_table group by customer_id比执行以下操作的简单 Java/JDBC 程序慢一个数量级以上:

1) 初始化一个空的 HashMap customerMap(这将映射 id -> 最大订单大小) 2) 执行“select customer_id,order_id from large_table”,并获取流式结果集 3) 迭代结果集,在每一行执行类似的操作以下:

这种性能差异是预期的吗?我不应该这么想,因为我想上面的内容非常接近内部发生的事情。是否有证据表明数据库存在错误/错误调整?

0 投票
2 回答
1029 浏览

sql-server - 为什么 SQL Server Tuning Advisor 建议将 PRIMARY KEY 添加到包含的索引列?

我已经多次看到这种情况,当我在 SQL Server 数据库引擎优化顾问中运行一些分析时,它建议我创建如下索引:

将主键(聚集索引)列包含到包含的列列表中真的很重要吗?我一直认为它默认包含在原始行的链接中。我错了吗?

更新: 我认为同样重要的是要注意它提出了这样的查询索引,例如:SELECT [PrimaryKeyColumn] FROM [dbo].[SomeTable] WHERE ...[Conditions]... 它确实会影响性能和执行计划。据我所知,索引并不包含真正的“聚集索引”,而只是一些指向行的链接。是这样吗?

0 投票
2 回答
65546 浏览

sql - 优化 PostgreSQL 以进行快速测试

我正在为典型的 Rails 应用程序从 SQLite 切换到 PostgreSQL。

问题是 PG 运行规范变得很慢。
在 SQLite 上大约需要 34 秒,在 PG 上大约需要 76 秒,慢了 2 倍以上

所以现在我想应用一些技术来使规范的性能与 SQLite 不相上下,无需修改代码(理想情况下只需设置连接选项,这可能是不可能的)。

从我的脑海中浮出水面的几个明显的事情是:

  • RAM 磁盘(在 OSX 上使用 RSpec 进行良好设置会很高兴)
  • 未记录的表(它可以应用于整个数据库,所以我没有更改所有脚本吗?)

正如您可能已经理解的那样,我不关心可靠性和其他方面(数据库在这里只是一个一次性的东西)。
我需要充分利用 PG 并使其尽可能快

最好的答案将理想地描述这样做的技巧,设置和这些技巧的缺点。

更新: fsync = off +full_page_writes = off仅将时间减少到 ~65 秒(~-16 秒)。良好的开端,但远未达到 34 的目标。

更新 2:尝试使用 RAM 磁盘,但性能提升在误差范围内。所以似乎不值得。

更新 3:* 我发现了最大的瓶颈,现在我的规范运行速度与 SQLite 一样快。

问题是执行截断的数据库清理。显然 SQLite 太快了。

为了“修复”它,我在每次测试之前打开一个事务并在最后回滚它。

大约 700 次测试的一些数字。

  • 截断:SQLite - 34s,PG - 76s。
  • 事务:SQLite - 17s,PG - 18s。

SQLite 速度提高 2 倍。PG 速度提高 4 倍。

0 投票
3 回答
3329 浏览

database - 数据库调优和数据库查询优化有什么区别?

有人能告诉我数据库调优和数据库查询优化之间的确切区别吗?

我已阅读 Wikipedia 上的以下链接:

http://en.wikipedia.org/wiki/Query_optimization

http://en.wikipedia.org/wiki/Database_tuning

据我了解,似乎数据库调优不过是数据库查询优化。我还是一头雾水

两者之间究竟有什么区别?

0 投票
1 回答
1880 浏览

sql-server-2008 - MSSQL 2008 Express 的数据库调优顾问

有什么方法可以使用 Tuning Advisor for SQL Express?Express 是否有某种调优工具?对于那些不是 DBA 但仍想提高网站性能的人?

0 投票
1 回答
4071 浏览

debian - postgresql.conf 优化

我的 postgresql 服务器非常慢。特别是当我在不同的线程中同时执行多个查询时,有时会导致 postgresql 服务器在 5 到 15 秒内无响应。我想知道我是否在 postgresql.conf 中犯了错误。

我的专用服务器有 2 个内核和 4 GB 内存,以及一个标准 SATA-2 磁盘。postgres db(8.4版)中有6gb的数据,同时连接了几百个用户。我正在使用 JDBC 访问 postgress,同时运行 1 到 10 个访问数据库的线程。我的服务器是 debian lenny。Cpu 没有 100% 使用,内存也没有。

感谢您提供任何帮助。

0 投票
1 回答
448 浏览

mysql - 查找最近最少使用的mysql表索引

我正在清理 mysql 数据库中(innodb)表中的重复索引。该数据库有大约 50 个表。

虽然我可以使用pt-duplicate-key-checker 检查重复键,但我想知道是否有一种工具可以帮助我从所有表中找出最近最少使用的索引。

例如。,如果表“A”具有定义为“index_1”、“index_2”和“index_3”的三个索引,并且其中“index_3”使用频率最低,假设每对表进行1/10000次查询就使用它,然后输出脚本或工具的名称应为“index_3”。

有没有好的方法或工具可以帮助我在数据库上运行这个分析?

提前致谢。

0 投票
1 回答
22671 浏览

sql - SQL Server 审核注销会产生大量读取

我正在使用 SQL Server Profiler 来找出正在消耗 SQL 进程的进程,我发现事件类Audit Logout导致大量读取并消耗 cpu 进程。

正常吗?还是我的 SQL Server 配置有问题?

0 投票
0 回答
74 浏览

mysql - 黑洞引擎优化/表锁定问题

我正在使用 BLACKHOLE 引擎向表中添加很多行。Processlist 显示有很多查询正在等待表锁。MySQL 分析器显示,对该表的 INSERT 是导致我的数据库过载的最大原因。我已经优化了列和数据。我没有任何大的领域等。你能告诉我如何解决这个问题吗?

0 投票
1 回答
162 浏览

sql-server-2005 - 统计数据对表有什么影响

当我向表中添加索引时,搜索有明显的好处,但是由于需要更新索引,因此插入/更新/删除语句也会产生成本。

如果我在表上创建一个新的统计数据,它会产生与索引类似的成本吗?