数据库管理员

希望提高数据库技能并向社区中的其他人学习的数据库专业人员的问答

5
在不返回任何行的查询中包含ORDER BY会严重影响性能
给定一个简单的三表联接,即使没有返回任何行,当包含ORDER BY时,查询性能也会发生巨大变化。实际问题场景需要30秒才能返回零行,但是当不包括ORDER BY时即刻发生。为什么? SELECT * FROM tinytable t /* one narrow row */ JOIN smalltable s on t.id=s.tinyId /* one narrow row */ JOIN bigtable b on b.smallGuidId=s.GuidId /* a million narrow rows */ WHERE t.foreignId=3 /* doesn't match */ ORDER BY b.CreatedUtc /* try with and without this ORDER …

2
“复制到tmp表”非常慢
这是我的查询示例: SELECT nickname, CASE class_id WHEN 1 THEN 'Druid' WHEN 2 THEN 'Necromancer' WHEN 3 THEN 'Mage' WHEN 4 THEN 'Priest' WHEN 5 THEN 'Warrior' WHEN 6 THEN 'Stalker' WHEN 7 THEN 'Paladin' WHEN 8 THEN 'Psionic' END class_name, ROUND(AVG(level),2) level, ROUND(AVG(tabard_id),2) tabard, CASE rank_id WHEN 1 THEN 'Leader' WHEN …

2
优化:将变量声明移至过程的顶部
在优化某些存储过程的过程中,我与DBA坐下并经历了一些阻塞和/或读/写活动频繁的存储过程。 DBA提到的一件事是我应该TABLE在存储过程的顶部声明所有变量(尤其是变量),以避免重新编译。 这是我第一次听说此消息,并且在重新访问我们拥有的所有不同存储过程之前,正在寻求一些确认。他称其为“代码的后期查看”,并且重新编译锁定了解决阻塞的架构。 将所有变量声明移到存储过程的顶部是否会减少重新编译?

5
我的SQL服务器可能受到攻击?
检查我的SQL Server日志,我看到几个这样的条目: Date: 08-11-2011 11:40:42 Source: Logon Message: Login failed for user 'sa'. Reason: Password did not match for the login provided. [CLIENT: 56.60.156.50] Date: 08-11-2011 11:40:42 Source: Logon Message: Error: 18456. Severity: 14. State: 8. Date: 08-11-2011 11:40:41 Source: Logon Message: Login failed for user 'sa'. Reason: Password did …

2
为什么“ SELECT POWER(10.0,38.0);”会引发算术溢出错误?
我正在更新我的IDENTITY溢出检查脚本以解决DECIMAL和NUMERIC IDENTITY列。 作为检查的一部分,我计算了每一IDENTITY列的数据类型范围的大小。我用它来计算该范围已用尽的百分比。对于DECIMAL与NUMERIC 该范围的大小2 * 10^p - 2,其中p是精度。 我用DECIMALand NUMERIC IDENTITY列创建了一堆测试表,并尝试如下计算它们的范围: SELECT POWER(10.0, precision) FROM sys.columns WHERE is_identity = 1 AND type_is_decimal_or_numeric ; 这引发了以下错误: Msg 8115, Level 16, State 6, Line 1 Arithmetic overflow error converting float to data type numeric. 我将其范围缩小到IDENTITY类型的列DECIMAL(38, 0)(即,具有最大精度),因此我POWER()直接尝试对该值进行计算。 以下所有查询 SELECT POWER(10.0, 38.0); SELECT CONVERT(FLOAT, (POWER(10.0, …

1
在视图中使用OPENQUERY对性能的影响
请在stackoverflow上查看此问题: 我正在使用EasySoft ODBC驱动程序将SQL Server 2008 R2 Express实例链接到Interbase,并且在从远程服务器获取元数据时遇到了一些困难。从网上看,所有主要提示都使用OPENQUERY而不是链接服务器语法的四部分。 EG我目前(有问题的)方法是... CREATE VIEW [LIVE].[vwPRDETS] AS SELECT * FROM [LBLIVE]...[PRDETS] WITH (NOLOCK) 但是在某些表上,调用视图时出现错误... 消息7353,级别16,状态1,行1链接服务器“ LBLIVE”的OLE DB提供程序“ MSDASQL”提供了不一致的元数据。在执行期间提供了一个额外的列,该列在编译时找不到。 另外,我什至无法创建一些视图,因为我得到了以下... 消息7315,级别16,状态1,第1行链接服务器“ LBLIVE”的OLE DB访问接口“ MSDASQL”包含多个与名称“ SYSDBA.AUDID_LBABKP”匹配的表。 虽然只提到了一张表。 搜索网络的另一种方法似乎更像是... SELECT * FROM OPENQUERY(<linked sevrer>, 'SELECT <column list> FROM MyTable') 因此,我的问题是,如果我在视图定义中使用OPENQUERY,SQL Server能否优化发送到Interbase的结果SQL?还是这两种方法之间确实没有太大区别? 这是一个跨学科的话题,并且会喜欢dba的POV。



3
有关SQL Server 2008 R2中长期运行的查询或死锁的通知?
我想知道是否可以通过死锁发送通知吗?如果是这样,将需要什么查询。我知道SQL Server可以处理死锁,我只想了解有关查询的信息。 我发现以下内容可确定长时间运行的查询: SELECT creation_time ,last_execution_time ,total_physical_reads ,total_logical_reads ,total_logical_writes , execution_count , total_worker_time , total_elapsed_time , total_elapsed_time / execution_count avg_elapsed_time ,SUBSTRING(st.text, (qs.statement_start_offset/2) + 1, ((CASE statement_end_offset WHEN -1 THEN DATALENGTH(st.text) ELSE qs.statement_end_offset END - qs.statement_start_offset)/2) + 1) AS statement_text FROM sys.dm_exec_query_stats AS qs CROSS APPLY sys.dm_exec_sql_text(qs.sql_handle) st where total_elapsed_time >= …
15 query  deadlock 


3
最佳实践SQL Server维护计划是什么样的?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我是埃因霍温丰提斯大学的一名学生,我目前正在进行一系列访谈,以帮助开发SQL Server工具,并且我希望获得该领域专家的反馈。 我的问题之一是: 最佳实践SQL Server维护计划是什么样的?您为此使用SQL Server维护计划,还是使用自定义脚本?

1
无法从mysql.user中删除匿名用户
我试图从mysql.users数据库中删除匿名用户。但是,我的行为一直很奇怪。当我输入命令时: DROP User ''@'WOPR'; 我收到一般错误消息。因此,我重新启动了机器,然后再次尝试。这次我得到了回应 Query OK, 0 rows affected. 但是当我把 SELECT User, Host, Password FROM mysql.user WHERE User=''; 返回是: +------+------+----------+ | User | Host | Password | +------+------+----------+ | | WOPR | | +------+------+----------+ (WOPR是我的主机名) 我运行命令 DROP User ''@'WOPR'; 并得到相同的结果。 我正在Arch Linux 2.6.33版上运行MySQL 5.5的全新安装。 有谁知道会导致这种行为的原因吗?
15 mysql 



10
您的SQL Server遇到的前3个性能问题是什么?
我是埃因霍温丰提斯大学的一名学生,我目前正在进行一系列访谈,以帮助开发SQL Server工具,并且我希望获得该领域专家的反馈。 我的问题之一是: 您的SQL Server实例遇到的前3个性能问题是什么?如何识别这些问题? 我特别对用于测量此内容的脚本和工具感兴趣。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.