118得票3回答
一个大查询和许多小查询哪个更快?

我曾在不同的公司工作过,我注意到其中一些公司更喜欢将所有相关的数据都放在一个表中。但是在应用程序中,有时我们只需要使用其中的一列。 所以,是否只进行简单的选择查询,然后在系统代码中进行“连接”会更快呢? 系统可以使用php、java、asp或者任何与数据库连接的语言。 所以问题是,从服务...

86得票4回答
为什么我的查询突然比昨天慢了?

[问候语] (选择一个) [ ] Well trained professional, [ ] Casual reader, [ ] Hapless wanderer, 我有一个(选择所有适用的选项) [ ] query [ ] stored procedure [ ] databa...

78得票6回答
如何高效地获取“最近的对应行”?

我有一个查询模式,可能非常常见,但我不知道如何编写一个高效的查询。我想要查找与另一个表中的行对应的“最近日期不晚于”的行。 我有一个表,比如说是inventory,它表示我在某一天持有的库存。 date | good | quantity -------------------...

70得票4回答
一个单独的PostgreSQL查询能够利用多个核心吗?

在最近的PostgreSQL版本(截至2013年12月),我们是否可以在两个或多个核心之间共享查询以提高性能?或者我们应该使用更快的核心?

63得票6回答
使用窗口函数的日期范围滚动求和

我需要在一个日期范围内计算滚动总和。举个例子,使用AdventureWorks示例数据库,下面的假设语法将完全满足我的需求: SELECT TH.ProductID, TH.TransactionDate, TH.ActualCost, RollingSum4...

53得票1回答
索引:整数与字符串性能,如果节点数量相同 当涉及到数据库查询性能时,索引是一个非常重要的因素。在设计数据库表时,我们通常会选择使用整数或字符串作为索引字段。但是,当节点数量相同时,整数索引和字符串索引之间是否存在性能差异呢? 整数索引是将整数值存储在索引中,而字符串索引则是将字符串值存储在索引中。从存储角度来看,整数索引通常比字符串索引更紧凑,占用更少的存储空间。这意味着在相同的节点数量下,整数索引可能具有更好的性能。 此外,整数索引在比较操作上也更高效。由于整数是可以直接进行比较的原始数据类型,所以在执行查询时,数据库可以更快地找到匹配的记录。相比之下,字符串索引需要进行更复杂的比较操作,可能会导致性能下降。 然而,需要注意的是,性能差异并不是绝对的。在某些情况下,字符串索引可能比整数索引更适合。例如,当需要对文本内容进行模糊搜索或排序时,字符串索引可能更有效。 总结起来,当节点数量相同时,整数索引通常具有更好的性能。它们占用更少的存储空间,并且在比较操作上更高效。然而,具体情况还是要根据实际需求来决定使用哪种类型的索引。

我正在使用Ruby on Rails和PostgreSQL(9.4)数据库开发一个应用程序。对于我的用例来说,表中的列将经常被查找,因为应用程序的整个目的是在模型上搜索非常特定的属性。 目前我在决定是使用integer类型还是简单地使用典型的字符串类型(例如character varying(...

50得票5回答
为什么我不应该使用SQL Server选项“优化用于零散工作负载”?

我一直在阅读金伯利·特里普(Kimberly Tripp)关于SQL Server计划缓存的一些很棒的文章,比如这篇: http://www.sqlskills.com/blogs/kimberly/plan-cache-and-optimizing-for-adhoc-workloads/ ...

49得票2回答
配置PostgreSQL以提高读取性能 要优化PostgreSQL的读取性能,有几个关键方面需要考虑。首先,确保数据库服务器的硬件配置足够强大,包括处理器、内存和磁盘空间。这将确保数据库能够快速响应查询请求。 其次,调整PostgreSQL的配置参数以适应读取密集型工作负载。可以通过修改postgresql.conf文件来实现这一点。例如,增加shared_buffers参数的值,以便在内存中缓存更多的数据块。还可以调整effective_cache_size参数,以反映系统中可用的缓存大小。 另外,使用合适的索引对于提高读取性能也非常重要。确保表上的常用查询字段都有相应的索引。此外,可以考虑使用复合索引来覆盖多个查询条件。 此外,定期进行数据库维护任务也是提高读取性能的关键。这包括重新组织表、重新生成统计信息和清理不再使用的索引等。 最后,使用合理的查询语句和优化技巧也可以提高读取性能。避免不必要的连接和子查询,并使用合适的JOIN类型和WHERE条件来限制返回的数据量。 通过综合考虑这些因素,您可以有效地配置PostgreSQL以提高读取性能,并获得更好的数据库性能和响应时间。

我们的系统写入了大量数据(一种大数据系统)。对于我们的需求来说,写入性能已经足够好了,但读取性能实在太慢了。 我们所有表格的主键(约束)结构都是相似的。 timestamp(Timestamp) ; index(smallint) ; key(integer). 一张表可以有数百万行,...

48得票2回答
在Postgres 9.2上增加work_mem和shared_buffers显著减慢了查询速度。

我在RHEL 6.3上运行着一个PostgreSQL 9.2实例,使用了一台8核心、16GB内存的机器。这台服务器专门用于这个数据库。考虑到默认的postgresql.conf在内存设置方面相当保守,我认为允许Postgres使用更多内存可能是个好主意。令我惊讶的是,按照wiki.postgr...

48得票3回答
如何加快对一个拥有2.2亿行数据(9 GB)的大型表格的查询速度?

问题: 我们有一个社交网站,会员可以互相评价彼此的兼容性或匹配度。这个"user_match_ratings"表包含超过2.2亿行数据(9GB数据或近20GB索引)。对这个表的查询经常出现在slow.log中(阈值> 2秒),并且是系统中最频繁记录的慢查询: Query_time: 3 ...