问题标签 [database-performance]

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 回答
4261 浏览

php - 存储过程和准备语句之间的 MySQL 性能比较

这是 MySQL 准备好的语句

和等效的存储过程

在我运行查询后,两者都输出相同的结果。

我仔细研究了执行时间,两者都是一样的。何时何地比另一个更好更快?

0 投票
3 回答
3010 浏览

.net - 推荐的 SQL Server/T-SQL 书籍

我正在寻找一些关于 SQL Server 2008 和 T-SQL 的书,比如说中级(专注于存储过程、索引、优化、性能),而不是在简单的创建/插入/选择上花费太多;)

一些 .NET 功能也会很棒,主要是提高性能。

0 投票
1 回答
62180 浏览

mongodb - 如何配置 MongoDB Java 驱动程序 MongoOptions 以供生产使用?

我一直在网上搜索为 MongoDB Java 驱动程序配置 MongoOptions 的最佳实践,除了 API 之外,我没有想出太多东西。这个搜索是在我遇到“com.mongodb.DBPortPool$SemaphoresOut: Out of semaphores to get db connection”错误之后开始的,通过增加连接/乘数我能够解决这个问题。我正在寻找链接或您在为生产配置这些选项时的最佳实践。

2.4驱动的选项包括: http ://api.mongodb.org/java/2.4/com/mongodb/MongoOptions.html

  • 自动连接重试
  • 每个主机的连接数
  • 连接超时
  • 最大等待时间
  • 套接字超时
  • threadsAllowedToBlockForConnectionMultiplier

较新的驱动程序有更多选择,我也有兴趣了解这些。

0 投票
2 回答
65 浏览

mysql - 数据库速度优化(多个查询)

我必须为电影开发一个网络应用程序。目前,在我的数据库中,我有一张用于人物和电影之间关系的表格,还有一张用于演员(也是人物)和电影之间关系的表格。最后一个还包含有关角色的信息。

我的问题根本不是规范化,我想知道在速度方面对每个表执行两个查询或将它们合并到一个具有 NULL 值的单个元组中的字符并执行单个查询是否更有效询问 ?

编辑:

目前的两个查询(图侧,获取他的演技和事业):

0 投票
8 回答
1169 浏览

sql - SQL 查询 - 需要提高性能

我有一个数据加载场景,我创建动态 sql 查询以在我们的服务中提取数据和缓存。有 1 个表包含所有产品数据:ProductHistory(47 列,200,000 条记录 + 并将继续增长)

我需要: 通过使用最大id、最大版本和最大changeid获取最新产品。

第一次尝试:

这花了超过 2.51 分钟。

其他失败的尝试:

它基本上使用与订购日期时相同的原则,将按相关性排序的数字连接起来。

但是这个需要3.10分钟!!!:(

所以,我基本上需要一种方法来让我的第一次尝试查询更好。我也想知道这么多的数据,这是我应该期待的最佳检索速度吗?

  1. 我运行了sp_helpindex ProductHistory并找到了如下索引:

    PK_ProductHistoryNew - 位于 PRIMARY-Id、版本上的集群的、唯一的主键

  2. 我将第一个查询包装在 SP 中,但仍然没有变化。

那么,想知道我们可以通过哪些其他方式来提高此操作的性能?

谢谢, Mani ps:我只是在 SQL management stuido 中运行这些查询来查看时间。

0 投票
7 回答
2130 浏览

mysql - 我遇到了数据库性能瓶颈,现在在哪里?

现在数据库已经增长到几百万条记录,我有一些查询需要很长时间(300 毫秒)。幸运的是,查询不需要查看这些数据的大部分,最新的 100,000 条记录就足够了,因此我的计划是维护一个包含最新 100,000 条记录的单独表并针对此运行查询。如果有人对这样做的更好方法有任何建议,那就太好了。我真正的问题是,如果查询确实需要针对历史数据运行,那么下一步是什么?我想到的事情:

  • 升级硬件
  • 使用内存数据库
  • 在您自己的数据结构中手动缓存对象

这些事情是否正确,还有其他选择吗?一些数据库提供者是否比其他提供者有更多的功能来处理这些问题,例如指定一个特定的表/索引完全在内存中?

对不起,我应该提到这一点,我正在使用 mysql。

我忘了在上面提到索引。老实说,到目前为止,索引是我唯一的改进来源。为了识别瓶颈,我一直在使用 maatkit 进行查询,以显示是否使用了索引。

我知道我现在正在远离这个问题的目的,所以也许我应该再做一个。我的问题是EXPLAIN说查询需要 10 毫秒而不是 jprofiler 报告的 300 毫秒。如果有人有任何建议,我将不胜感激。查询是:

的输出EXPLAIN是:

0 投票
0 回答
257 浏览

java - Hibernate NullableType 性能问题

我的一个查询的性能出现问题,在使用 jprofiler 进行分析后,我确定 60% 的查询时间在 joda 的休眠库中,并调用了 nullSafeSet 和 nullSafeGet。我一辈子都想不通为什么它会花这么多时间在那里。

正在检索的域对象包含两个 DateTime 属性,这两个属性都可能为空。我正在执行的查询(需要 <1ms)对其中一个日期时间进行相等检查,以确保它为空并且在另一个日期上进行小于比较。Jprofiler 调用一次 nullSafeSet 并调用两次 nullSafeGet。nullSafeGet 执行总共需要 19.7 毫秒,而 nullSafeSet 需要 25.9 毫秒。nullSafeSet 调用并花费大部分时间的方法是java.sql.PreparedStatement.setTimestamp,对于 nullSafeGet 调用,时间花费在org.joda.time.convert.ConverterManager.

有没有人建议我如何改善这种情况?!

我不确定下面的屏幕截图是否有用,甚至是否清晰。这是 jprofiler 的输出,显示时间花费在哪里以及正在执行的查询。

在此处输入图像描述

0 投票
3 回答
7740 浏览

mysql - MySQL 上的游标——好或坏

我一直听到人们对使用游标说不好,尤其是在 Microsoft SQL Server 中,因为它们非常慢。

MySQL 上的 Cursors 也是这种情况吗?MySQL 中的游标是否也会降低性能?有人可以就 MySQL 中游标的使用提出建议吗?

0 投票
2 回答
239 浏览

mysql - 选择一种方法而不是另一种方法从 Mysql 获取数据的复杂性

我正在开发一个基于 PHP、Mysql、Apache 的项目。

我有一个名为通知的模块,就像 FACEBOOK 中可用的通知一样,为此我有 3 种方法

或者我将每个更新插入到一个表中,计算需要通知这些更新的用户数量,即如果假设类别 B 有一些更新并且这个类别 B 包含 100 个用户,那么我将为相应的用户插入 100 行一个说,通知表。

第二种方式

我可以做的只是在表中插入一个特定的类别条目,然后对每个护理 ID 进行繁重的 JOIN 查询,以从多个表中获取所有记录以获取记录。

第三种方式

我在每次更新时都使用触发器,以便它可以用于通知用户。

我相信这三种方式在某些时候都是有问题的。

现在任何人都可以提出任何更好的想法或其中哪一个是更好的选择吗?

我担心网站的性能,因为它将有大量条目

谢谢

0 投票
1 回答
905 浏览

sql - SQL使用单表将行数据转换为列

我正在尝试将其中一个 DB 表行转换为列并使用带有游标的 PIVOT 函数,这里是 Sql:

其中 AllCounterIds 是我使用此创建的视图:

所以问题是到目前为止我在表中有大约 27993600 行,当我执行 SQL 时,它需要大约 4 分钟和大约 15 秒才能给我输出,并且根据性能要求它很糟糕......所以我的问题是,是无论如何,我可以在哪里实现我想要的结果但获得更好的性能?

并且只是为了让您知道在表上也定义了集群索引......