Questions tagged «sql-server»

Microsoft SQL Server是一个关系数据库管理系统(RDBMS)。将此标签用于所有SQL Server版本,包括Compact,Express,Azure,Fast-track,APS(以前称为PDW)和Azure SQL DW。请勿将此标签用于其他类型的DBMS(MySQL,PostgreSQL,Oracle等)。除非该标签与数据库直接相关,否则请勿将其用于软件和移动开发问题。

4
CTE,子查询,临时表或表变量之间是否存在性能差异?
在这个出色的SO问题中,讨论了CTE和之间的sub-queries差异。 我想特别问一下: 在以下哪种情况下,以下各项中的每一种都更有效/更快? CTE 子查询 临时表 表变量 传统上,我使用了大量的temp tables开发工具stored procedures-因为它们似乎比许多相互交织的子查询更具可读性。 Non-recursive CTE可以很好地封装数据集,并且可读性很强,但是在特定情况下有人可以说它们将始终表现更好吗?还是总是必须摆弄各种选项以找到最有效的解决方案? 编辑 最近有人告诉我,就效率而言,临时表是一个不错的首选,因为它们具有关联的直方图,即统计信息。




5
如何在TSQL中刷新PRINT缓冲区?
我在SQL Server 2005中有一个非常长时间运行的存储过程,正在尝试调试,并且正在使用“ print”命令来进行调试。问题是,我只能在存储过程的最后从SQL Server取回消息-我希望能够刷新消息缓冲区并在存储过程的运行时立即查看这些消息,而不是在运行时结束。

30
MSSQL错误“底层提供程序在打开时失败”
我当时使用.mdf来连接到database和entityClient。现在,我想更改连接字符串,以便没有.mdf文件。 以下connectionString正确吗? <connectionStrings> <!--<add name="conString" connectionString="metadata=res://*/conString.csdl|res://*/conString.ssdl|res://*/conString.msl;provider=System.Data.SqlClient;provider connection string="Data Source=.\SQL2008;AttachDbFilename=|DataDirectory|\NData.mdf;Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />--> <add name="conString" connectionString="metadata=res://*/conString.csdl|res://*/conString.ssdl|res://*/conString.msl;provider=System.Data.SqlClient;provider connection string="Data Source=.\SQL2008;Initial Catalog=NData;Integrated Security=True;Connect Timeout=30;User Instance=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" /> 因为我总是收到错误: 基础提供程序在打开时失败


13
如何从SQL Server的值列表中选择
我有一个非常简单的问题,我无法解决。我需要做这样的事情: select distinct * from (1, 1, 1, 2, 5, 1, 6). 有人可以帮忙吗? 编辑 数据来自我们的一位客户的文本文件。它是完全未格式化的(它是一行很长的文本),但是在Excel中可能是这样做的。但这对我来说并不实际,因为我将需要在sql查询中使用这些值。每次我需要运行查询时,这样做都不方便。

30
SQL Server的隐藏功能
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 SQL Server的一些隐藏功能是什么? 例如,未记录的系统存储过程,做一些有用的技巧却没有足够记录的技巧? 答案 感谢大家提供的所有出色答案! 存储过程 sp_msforeachtable:使用“?”运行命令 替换为每个表名(v6.5及更高版本) sp_msforeachdb:使用“?”运行命令 替换为每个数据库名称(v7及更高版本) sp_who2:与sp_who一样,但包含更多有关故障排除块的信息(v7及更高版本) sp_helptext:如果需要存储过程的代码,请查看&UDF sp_tables:返回范围内数据库的所有表和视图的列表。 sp_stored_procedures:返回所有存储过程的列表 xp_sscanf:将数据从字符串读取到每个格式参数指定的参数位置。 xp_fixeddrives::查找具有最大可用空间的固定驱动器 sp_help:如果要了解表的结构,表的索引和约束。以及视图和UDF。快捷键是Alt + F1 片段 以随机顺序返回行 上次修改日期的所有数据库用户对象 仅返回日期 查找哪个日期属于当前星期内的记录。 查找上周发生日期的记录。 返回当前星期开始的日期。 返回上周开始的日期。 查看已部署到服务器的过程的文本 删除所有与数据库的连接 表校验和 行校验和 将所有过程拖放到数据库中 还原后正确重新映射登录ID 从INSERT语句调用存储过程 按关键字查找程序 将所有过程拖放到数据库中 以编程方式查询事务日志中的数据库。 功能 HashBytes() 加密密钥 PIVOT命令 杂项 连接字符串附加 TableDiff.exe 登录事件的触发器(Service Pack 2中的新增功能) 通过持久计算列(pcc)提高性能。 sys.database_principles中的DEFAULT_SCHEMA设置 …
215 sql-server  tsql 

27
有哪些资源可用于数据库性能调整?[关闭]
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 6年前关闭。 改善这个问题 有哪些好的资源可用于理解主要引擎上的数据库调优并增进您在该领域的知识? 这个问题的想法是收集流失的资源,这些资源总是存在的,以便人们可以建立一个“一站式”的知识资源,该知识资源是经过同等认可的良好资源。 通用SQL 书籍:SQL性能调优 书籍:SQL调优 书籍:SQL的艺术 图书:重构SQL应用程序 图书:数据库调优:原理,实验和故障排除技术 使用索引,卢克!-开发人员数据库性能指南 PostgreSQL(Wiki)(PGsearch) 性能优化 快速PostgreSQL优化 解释分析口译员 PostgreSQL性能提示 图书:PostgreSQL 9.0高性能 的MySQL MySQL的隐藏功能 图书:高性能MySQL / 博客:高性能MySQL 博客:Xaprb(用于MySQL DBA) 甲骨文 如何在StackOverflow上询问Oracle调整问题 您如何解释查询的解释计划? Oracle高级调整脚本 Oracle数据库性能调优指南 问汤姆 Oracle数据库SQL参考 书籍:了解Oracle性能 书籍:优化Oracle性能 书籍:Oracle性能故障排除 图书:基于成本的Oracle基础知识 MS SQL服务器 SQL Server性能 电子书:高性能SQL Server SO问题:最佳的SQL Server性能优化技术是什么? 布伦特·奥扎(Brent Ozar)的《 …

25
从数据库表生成类
如何从SQL Server表对象生成类? 我不是在谈论使用一些ORM。我只需要创建实体(简单类)。就像是: public class Person { public string Name { get;set; } public string Phone { get;set; } } 给定一些表,如: +----+-------+----------------+ | ID | Name | Phone | +----+-------+----------------+ | 1 | Alice | (555) 555-5550 | | 2 | Bob | (555) 555-5551 | | 3 | Cathy …
214 c#  sql  sql-server  tsql 

10
在数据库中存储JSON与为每个密钥添加一个新列
我正在实现以下用于在表中存储与用户相关的数据的模型-我有2列- uid(主键),该meta列以JSON格式存储有关用户的其他数据。 uid | meta -------------------------------------------------- 1 | {name:['foo'], | emailid:['foo@bar.com','bar@foo.com']} -------------------------------------------------- 2 | {name:['sann'], | emailid:['sann@bar.com','sann@foo.com']} -------------------------------------------------- 这是一个更好的方式(性能明智的,设计明智)比一列,每个属性模型,其中表将有很多像列uid,name,emailid。 我喜欢第一个模型,您可以添加尽可能多的字段,没有限制。 另外,我想知道,既然我已经实现了第一个模型。我该如何对其执行查询,例如,我要获取所有具有“ foo”之类名称的用户? 问题 -使用JSON或每字段列数,哪种更好的方式将用户相关数据存储(请记住字段数是固定的)?另外,如果实现了第一个模型,如何如上所述查询数据库?我是否应该通过将查询可能搜索到的所有数据存储在单独的行中以及将其他数据存储在JSON(是不同的行)中来使用这两种模型? 更新资料 由于不会有太多列需要执行搜索,因此同时使用两个模型是否明智?我需要搜索的数据的每列关键字以及其他数据(在同一MySQL数据库中)的JSON?


3
如何在SQL Server 2008中使用表别名编写UPDATE SQL?
我有一个非常基本的UPDATE SQL- UPDATE HOLD_TABLE Q SET Q.TITLE = 'TEST' WHERE Q.ID = 101; 该查询运行良好的Oracle,Derby,MySQL-但它在SQL Server 2008中失败 与以下错误: “消息102,级别15,状态1,行1'Q'附近的语法不正确。 如果我从SQL中删除所有出现的别名“ Q”,那么它将起作用。 但是我需要使用别名。

19
计算多列的DISTINCT
有没有更好的方法来执行这样的查询: SELECT COUNT(*) FROM (SELECT DISTINCT DocumentId, DocumentSessionId FROM DocumentOutputItems) AS internalQuery 我需要计算该表中不同项目的数量,但是不同项目超过两列。 我的查询工作正常,但我想知道是否可以仅使用一个查询(而不使用子查询)获得最终结果

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.