小编Gai*_*ius的帖子

在 MySQL 中设置“锁定等待超时”

在超时之前,我将在哪里设置查询在 MySQL 5.0.68 中等待锁定的最长时间?

mysql mysql-5 locking

16
推荐指数
2
解决办法
6万
查看次数

SQL Server 性能突然下降

我有一个最近变得不可预测的 SQL Server 2005,我正在摸索为什么。在几秒钟内执行的查询正在更改计划并花费几分钟(在全表扫描或索引假脱机中花费时间)。现在第一个也是最明显的事情是,统计数据已经过时导致优化器感到困惑,但我相信事实并非如此 - 首先是因为基础数据没有显着变化(例如,在一年的数据之上添加一天的数据已经在表中),其次是因为自动创建统计和自动更新统计都是真的。然而,优化越来越困惑;在 Tuning Advisor 中运行 SQL 给了我很多CREATE STATISTICS似乎可以修复它的多列语句(直到 SQL 的下一个错误行为)。

我可以用来解决根本原因的任何策略想法吗?为什么“正常”统计数据还不够?

performance sql-server-2005

13
推荐指数
2
解决办法
1万
查看次数

在 MySQL DBA 面试中我应该问什么?

我是一名软件开发人员,正在帮助我的团队聘请一名 MySQL DBA。我们面临的核心挑战是:

  • 由于 Hibernate,查询和性能变慢。

  • 数据库管理(备份、调优、补丁、安全)。

  • 由于来自新数据源的数据增加和旧数据的积累而产生的可扩展性。

  • 我们计划在未来开始数据挖掘和数据仓库。不知道如何,但这是方向。

我们通常有一些编程案例,我们要求开发人员为面试构建一些东西,但以同样的方式进行 DBA 面试有点困难。

你能就如何进行面试提出建议吗?

mysql interview-question

10
推荐指数
4
解决办法
7014
查看次数

在 Server Management Studio 中显示查询计划

另一个 SQL 服务器问题:我有一个简单的查询,它提供了自计数器重置以来 CPU 最密集的 SQL:

select top 10  
    sum(qs.total_worker_time) as total_cpu_time,  
    sum(qs.execution_count) as total_execution_count, 

    qs.plan_handle, st.text  
from  
    sys.dm_exec_query_stats qs 
cross apply sys.dm_exec_sql_text(qs.plan_handle) as st
group by qs.plan_handle, st.text 
order by sum(qs.total_worker_time) desc
Run Code Online (Sandbox Code Playgroud)

问题1:究竟是什么plan_handle?它似乎不是计划的散列,就像在 Oracle 中一样。我问是因为我希望能够检测语句的计划发生变化的情况。

问题2:一旦有了plan_handle,我就对实际的计划感兴趣。所以我这样做,例如:

select * from sys.dm_exec_query_plan (0x060006001F176406B8413043000000000000000000000000)
Run Code Online (Sandbox Code Playgroud)

在 query_plan 列中,我得到一个链接,单击该链接时会显示一个 XML 文档。如果我将它作为whatever.sqlplan 保存在磁盘上,我可以在Windows 中双击它并在Management Studio 中正确显示。一定有办法避免这一步吗?!

问题 3:有没有办法将 XML 转换回文本格式,就像过去的 SET SHOWPLAN_TEXT 一样?我希望能够以图形方式查看它们,但也希望以某种有意义的方式自动比较它们。

谢谢!

performance sql-server-2005

9
推荐指数
2
解决办法
3042
查看次数

获取运行缓慢的查询的统计信息

我的数据库应用程序运行许多不同的查询。我已设置log_min_duration_statement为 1000。但记录在那里的查询并不总是很慢,大多数情况下它们只需要几毫秒。

是否可以获得所有查询的统计信息,以及它们花费超过 1000 毫秒的频率?

postgresql performance

9
推荐指数
1
解决办法
2万
查看次数

关系是否比大而低效的表慢?

我在工作中被要求多次违反第一范式(跨列重复组,使用空/空值),“为了计算机处理能力”。简而言之,一个“学生”表应该至少有 8 个空字段(例如电话:telephone1、telephone2、telephone3...)而不是我的建议 - 一个包含电话号码(和可能的其他元数据)的“电话”表外键是学生证号。我的老板说最好以这种方式存储它们,因为“CPU 周期更少,这在 Web 平台中很重要”,而不是使用关系。我说,在最坏的情况下,它可以忽略不计。

在那个例子中,使用关系(假设在一个中等规模的 web 应用程序中用大量记录填充表)明显比使用那种表模式慢?

mysql rdbms join database-recommendation

8
推荐指数
1
解决办法
248
查看次数

将旧的放映计划文本转换为图形格式

有谁知道将旧的放映计划文本转换为图形格式的方法?

换句话说,我可以获取从 SET SHOWPLAN_TEXT ON 返回的 StmtText 并将其转换为显示图形执行计划吗?我是否需要将其解析为 XML 和 .sqlplan 格式才能查看图表?

埃里克:,这是一个例子,针对 AdventureWorks 运行:

SET SHOWPLAN_TEXT ON
GO

SELECT c.CustomerID, soh.ShipDate
FROM Sales.SalesOrderDetail sod
    INNER JOIN Sales.SalesOrderHeader soh ON sod.SalesOrderID = soh.SalesOrderID 
    INNER JOIN Sales.Customer c ON c.CustomerID = soh.CustomerID
WHERE sod.SpecialOfferID = 2
AND soh.ShipDate between '2003-01-01 00:00:00.000' and '2004-01-01 00:00:00.000'
AND c.CustomerType = 'I'
Run Code Online (Sandbox Code Playgroud)

你会看到这个 StmtText 返回:

StmtText
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
  |--Hash Match(Inner Join, HASH:([soh].[CustomerID])=([c].[CustomerID]))
       |--Hash Match(Inner Join, HASH:([sod].[SalesOrderID])=([soh].[SalesOrderID]))
       |    |--Index Seek(OBJECT:([AdventureWorks].[Sales].[SalesOrderDetail].[ix_nc_SpecialOfferID_inc_SalesOrderID] AS [sod]), SEEK:([sod].[SpecialOfferID]=(2)) ORDERED FORWARD)
       |    |--Index …
Run Code Online (Sandbox Code Playgroud)

sql-server

7
推荐指数
1
解决办法
532
查看次数

如何管理我自己的脚本

每个管理员、开发人员都有自己的脚本集合(一些模式)。他们有时会被解雇一份工作,而他们又受雇于另一份工作。有没有好的、好用的、有索引的工具来收集常用的sql脚本(默认结构化文件夹/文件系统)?

best-practices scripting

6
推荐指数
1
解决办法
432
查看次数

服务器升级后的复制问题

在事务复制中 - 前 8000 行快照复制到订阅者快照,然后就像它成功完成一样。

发布表有 2100 万行。快照显示已成功完成,然后我们在事务复制开始时收到错误“无法在订阅者处找到行”。

这是在运行 SQL Server 2005 Standard 64 位 SP3 和累积更新 4 的新 64 位服务器上。我们也有一个独立的分销商。

我们使用累积更新 4 将服务器/操作系统升级到 Windows 2008 R2 64 位和 SQL Server 从 32 位升级到 64 位,以解决分页问题/错误。

有没有人遇到过这种情况?

replication sql-server-2005 sql-server

6
推荐指数
1
解决办法
181
查看次数

在哪里可以找到自动扩展事件?

在 Oracle 中,我在哪里可以看到 DBF 自动扩展的历史记录?或者获取 DBF 上次自动扩展的时间戳,以及多少?

oracle oracle-11g

5
推荐指数
1
解决办法
4943
查看次数

在哪里可以使用 /*+ PARALLEL */ 提示?

它适用于 SELECT 和 UPDATE 语句。

是否还有更多的语句可以使用?

我能够将它与 create 一起使用,但不确定是否真正考虑了该提示。

SQL> create /*+ PARALLEL */ table t1
( id number,
name varchar2(40));

Table created.

SQL>
Run Code Online (Sandbox Code Playgroud)

除了 INSERT 和 UPDATE,什么时候都考虑 PARALLEL 提示?

performance oracle oracle-11g-r2 hints

3
推荐指数
1
解决办法
7万
查看次数

什么击中了你的数据库?

有什么快速的方法可以找出正在访问您的数据库的内容,尤其是当日志文件变得疯狂时。SQL探查器?如果是这样,如何?

sql-server-2005 profiler

3
推荐指数
1
解决办法
827
查看次数

SQL*Loader-605:发生非数据依赖的 ORACLE 错误

当我尝试将数据加载到 Oracle 时,我遇到了SQL*Loader-605: Non-data dependent ORACLE error occurred错误。

数据(是?)在.txt文件中,其大小为 95GB。

以下是有关错误的更多详细信息:

用于 ROWS 参数的值从 64 更改为 19

ORA-01653: 无法在表空间 USERS 中将表 M.ECZ 扩展 8192

SQL*Loader-605:发生与数据无关的 ORACLE 错误 -- 加载停止。

继续加载时指定 SKIP=8351926。

表 ECZ:8351925 行已成功加载。0 由于数据错误未加载行。0 行未加载,因为所有 WHEN 子句都失败。0 行未加载,因为所有字段都为空。

为绑定数组分配的空间:245100 字节(19 行)读取缓冲区字节:1048576

跳过的逻辑记录总数:1

拒绝的逻辑记录总数:0

丢弃的逻辑记录总数:0

你有什么建议?谢谢。

oracle oracle-11g-r2 sql-loader

3
推荐指数
1
解决办法
2万
查看次数