问题标签 [sqlperformance]
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.
sql - 将数据迁移到同一文件组中的其他文件对空文件的性能影响
我们目前有一个位于 15000 RPM 驱动器上的数据库,它只是一个日志数据库,我们希望将其移动到 10000 RPM 驱动器上。虽然我们可以轻松地分离数据库、移动文件并重新附加,但这会导致我们试图避免的轻微中断。
所以我们正在考虑使用DBCC ShrinkFile with EMPTYFILE
. 我们将在 10000 RPM 驱动器上创建比 15000 RPM 驱动器上的现有文件稍大的数据和事务文件,然后执行DBCC ShrinkFile with EMPTYFILE
迁移数据。
这会产生什么样的影响?
sql-server - SQL Server SELECT INTO 和临时表阻塞
所以,最近一个 DBA 试图告诉我们,我们不能使用
在我们的环境中创建临时表,因为该语法会在存储过程执行期间导致 TempDB 锁定。现在,我发现了许多详细说明临时表如何工作、执行范围、清理等的内容。但是对于我的生活,我看不到任何关于阻塞的东西,因为它们的使用。
我们正在努力寻找证据证明我们不应该为我们所有的临时表执行 CREATE TABLE #MyTable...,但双方都找不到证据。我正在寻找人们拥有的任何见解。
附加信息
目前使用 SQL Server 2005,很快将成为 SQL Server 2008(企业版)
sql - oracle 查询性能如何衡量
我是 Oracle 数据库的新手。我有 2 个查询返回相同的结果集。我想衡量他们每个人的表现并选择更好的。如何使用 Oracle SQL 开发人员做到这一点?我记得读过某些工具提供统计数据。关于如何阅读这些统计数据的任何指示?
更新:正如 Rob Van 所建议的,我使用 tkprof 实用程序来查找查询的性能。一些我能理解的参数(计数、行、经过时间、执行时间),但大多数我不能。任何人都可以帮助我了解这些参数的重要性吗?以下是结果。
我可以确定查询 2 比查询 1 更好。关于磁盘、查询和当前参数的含义有什么帮助吗?
sql - 数据库/SQL:如何存储经度/纬度数据?
性能问题...
我有一个包含地理位置数据(经度和纬度)的房屋数据库。
我想要做的是找到使用 InnoDB 数据库引擎将位置数据存储在我的 MySQL (v5.0.24a) 中的最佳方法,这样我就可以执行大量查询,返回介于两者之间的所有家庭记录x1 和 x2latitude
以及 y1 和 y2 longitude
。
现在,我的数据库架构是
我的查询是:
- 我上面描述的使用 Float (10,6) 在 MySQL 中存储纬度和经度数据并分离出经度/纬度的最佳方法是什么?如果不是,那是什么?存在 Float、Decimal 甚至 Spatial 作为数据类型。
- 从性能的角度来看,这是执行 SQL 的最佳方式吗?如果不是,那是什么?
- 使用不同的 MySQL 数据库引擎有意义吗?
更新:仍未答复
我在下面有3个不同的答案。一个人说用Float
。一个人说用INT
。一个人说用Spatial
。
所以我使用 MySQL 的“EXPLAIN”语句来衡量 SQL 的执行速度。INT
如果使用或FLOAT
用于经度和纬度数据类型,则似乎在 SQL 执行(结果集获取)方面绝对没有区别。
使用“”语句似乎也比使用“ ”或“ ”SQL语句BETWEEN
快得多。使用 " " 比使用 " " 和 " " 语句快近 3 倍。>
<
BETWEEN
>
<
话虽如此,我仍然不确定如果使用 Spatial 会对性能产生什么影响,因为我不清楚我运行的 MySQL 版本(v5.0.24)是否支持它......以及如果支持我如何启用它.
任何帮助将不胜感激
sql-server - 多次打开和关闭 SQL 连接有多糟糕?确切的效果是什么?
例如,我需要使用 SQLDataAdapter 的 Fill() 方法填充大量数据表:
即使所有的 dataadapter 对象都使用相同的 SQLConnection,每个 Fill 方法都会打开和关闭连接,除非在方法调用之前连接状态已经打开。
我想知道的是不必要地打开和关闭 SQLConnections 如何影响应用程序的性能。需要扩展多少才能看到这个问题的不良影响(100,000 个并发用户?)。在一个中型网站(每天 50000 个用户)中,是否值得费心并搜索所有 Fill() 调用,将它们放在代码中并在任何 Fill() 调用之前打开连接并在之后关闭?
sql-server-2005 - SQL 2005 数据库设置的推荐方式
刚得到一个带有 6 x 320 GB 磁盘的 win 2003(64 位)服务器盒,并打算安装 mssql 2005(64 位标准)。考虑设置以下内容:
- 磁盘 1 和 2 运行 Raid 1,分为 C:\ 用于 OS (~50GB) 和 D:\ 用于所有 .ldf 文件 (~250GB)
- 磁盘 3 到 6 运行 Raid 0,分为 E:\ 用于 .mdf 文件 (~700GB) 和 F:\ 用于运行备份等 (~200GB)
这会是最优的吗?
我想知道 tempdb 是否应该像其他 .mdf 和 .ldf 文件一样对待或转移到 F:\
还四处搜索并对文件组感到困惑,有些人建议将索引转移到不同的文件组并使用分区。这会有用吗,因为硬件将磁盘 3 到 6 组合成“1 个物理磁盘”并且 sql 不会从并发读取中获益?
sql-server - sql执行计划嵌套循环
试图删除我拥有的查询的执行计划中的嵌套循环(mssql 2005)。有下表:
TxnID bigint CustID bigint col1 varchar(4) col2 varchar(4) col3 varchar(4) TxnCurrency char(3) TxnAmt money TxnDate datetime
TxnID 是主键,在 CustID、TxnDate 上有非聚集索引
我应该创建另一个包含列的索引来解决嵌套循环吗?
sql-server-2008 - 人们使用什么工具来衡量 SQL Server 数据库的性能?
我尝试了多种技术来监控我们的 SQL Server 的运行状况,从使用 SQL Server 2008 中内置的管理数据仓库功能到其他商业产品(如 Confio Ignite 8),当然还有使用我自己的解决方案perfmon、性能计数器以及从动态管理视图和功能中收集各种信息。
我发现,虽然这些方法中的每一种都有其相关的优势,但它们也都有相关的弱点。我觉得要真正让组织内的人认真对待 SQL Server 性能的监控,无论我们推出什么解决方案都必须非常简单和快速使用,必须提供某种形式的仪表板,并且监控行为必须最小化对生产数据库的影响(也许更重要的是,必须有可能证明确实如此)。
所以我很想听听其他人正在使用什么来完成这项任务?有什么建议吗?
sql - 优化 TSQL 代码
我的工作是维护一个大量使用 SQL server (MSSQL2005) 的应用程序。
到目前为止,中间服务器将 TSQL 代码存储在 XML 中,并在不使用存储过程的情况下发送动态 TSQL 查询。
因为我能够更改那些 XML 查询,所以我想将我的大部分查询迁移到存储过程。
问题如下:
我的大多数查询对一张表都有相同的 Where 条件
样本:
它们在其他表上也具有相同的 where 条件。
我应该如何组织我的代码?
什么是正确的方法?
我应该创建将在所有查询中使用的表值函数,
还是在每次执行 proc 时使用 #Temp 表和简单的内部连接我的查询?或使用表值函数提交的#temp?
或者将所有查询都保留在这个大的 where 子句中,并希望索引能够完成它们的工作。
或使用 WITH(语句)
java - 通过java执行时SQL运行缓慢
我正在尝试在 oracle db 中执行查询。当我尝试通过 SQLTools 运行时,查询将在 2 秒内执行,而当我通过 JAVA 运行相同的查询时,它会在一分钟内执行。
我正在使用提示/*+ordered use_nl (a, b)*/
我正在使用 ojdbc6.jar 是因为任何 JARS 吗?请帮忙看看这是什么原因?