-
SQL为什么是SELECT COUNT(*),MIN(col),MAX(col)快于SELECT MIN(c
所属栏目:[MsSql教程] 日期:2020-12-12 热度:149
我们看到这些查询之间有很大的区别. 慢查询 SELECT MIN(col) AS Firstdate,MAX(col) AS Lastdate FROM table WHERE status = 'OK' AND fk = 4193 表’表’.扫描计数2,逻辑读取2458969,物理读取0,预读读取0,lob逻辑读取0,lob物理读取0,lob预读读取0. SQL Serve[详细]
-
sql-server – 如何将普通列更改为“计算”列
所属栏目:[MsSql教程] 日期:2020-12-12 热度:199
我在MSSQL服务器2008中有一个表.我想将该表中的一列更改为计算列.有人可以告诉我该怎么做? 解决方法 保存 the old data: EXEC sp_rename 'MyTable.OldCol','RenamedOldCol','COLUMN'; 添加computed column ALTER TABLE MyTable ADD ComputedCol AS (some exp[详细]
-
SQL中的“不是”比“SQL”更昂贵吗?
所属栏目:[MsSql教程] 日期:2020-12-12 热度:171
除了可能在表中的行数之外,这些示例查询之一是否比另一个更昂贵? SELECT * FROM dbo.Accounts WHERE AccountID IN (4,6,7,9,10) SELECT * FROM dbo.Accounts WHERE AccountID NOT IN (4,10) 解决方法 一般来说,NOT IN将会更昂贵,但是当然可以构建相反的情况.[详细]
-
sql-server – SQL Server:在proc定义中使用’WITH RECOMPILE’
所属栏目:[MsSql教程] 日期:2020-12-12 热度:163
我对存储过程对WITH RECOMPILE选项的理解通常限于使用具有单个存储过程调用作为尾随参数的子句: exec sp_mystoredproc 'Parameter1',2,'1/28/2011' with recompile 包括WITH RECOMPILE在实际的proc定义中有什么影响?这会在每次执行时重新编译proc?或者下一[详细]
-
sql-server – 具有多个字段的sql server-IN子句
所属栏目:[MsSql教程] 日期:2020-12-12 热度:95
是否可以在“IN”子句中包含多个字段?类似于以下内容 select * from userwhere code,userType in ( select code,userType from userType ) 谢谢 我使用ms sql server 2008 – 编辑:我知道这可以通过连接和存在实现(谢谢你的答案),我只是想知道是否可以完成[详细]
-
sql-server – 要NOLOCK或NOT NOWOCK,那就是问题
所属栏目:[MsSql教程] 日期:2020-12-12 热度:161
这更像是一个关于nolock的具体问题的讨论. 我最近接手了一个应用程序,几乎每个查询(还有很多)都有nolock选项.现在我对SQL服务器很熟悉(使用Oracle 10年),但是我觉得这非常令人不安.所以这个周末,我正在和一个经营一个相当大的电子商务网站的朋友交谈(名字将被[详细]
-
sql – 用于插入日期的默认getdate
所属栏目:[MsSql教程] 日期:2020-12-12 热度:95
我有一个名为sample的表,它有一个名为[__INSERT_DATE]的列,为空.现在我想将列的默认值改为getdate().当我尝试以下它给我一个错误. ALTER TABLE sampleALTER COLUMN [__INSERT_DATE] [datetime] DEFAULT (getdate()) NULL) 有谁能告诉我问题是什么? 解决方法[详细]
-
sql-server – 将所有非群集索引移动到SQL Server中的另一个文件
所属栏目:[MsSql教程] 日期:2020-12-12 热度:52
在SQL Server 2008中,我想将DB中的所有非群集索引移动到辅助文件组.最简单的方法是什么? 解决方法 运行此 updated script创建一个名为MoveIndexToFileGroup的存储过程.此过程将表上的所有非聚集索引移动到指定的文件组.它甚至支持一些其他脚本不包含INCLUDE[详细]
-
sql – Postgres:查找结果集中特定行的位置?
所属栏目:[MsSql教程] 日期:2020-12-12 热度:70
我想知道如何在查询中获取单个项目相对于从查询返回的所有项目的相对位置. 例如,得到答案的长手方式是: single_item = SELECT * FROM table WHERE id=65result = SELECT * FROM table WHERE published_date date_valuex=1foreach(result as item): if(item.i[详细]
-
简单可靠的内存数据库,用于支持JPA的快速java集成测试
所属栏目:[MsSql教程] 日期:2020-12-12 热度:138
如果我使用内存数据库而不是PostgreSQL,我的集成测试将运行得更快.我使用JPA(Hibernate),我需要一个内存数据库,可以轻松地切换到使用JPA,易于安装和可靠.由于我不想采用我的数据访问代码进行测试,所以需要相当广泛地支持JPA和Hibernate(或者相反的话). 什么数[详细]
-
sql – 表字段可以包含连字符吗?
所属栏目:[MsSql教程] 日期:2020-12-12 热度:144
我在MySQL表中有一个名称为“product”的表,并希望将其重命名为“ds-product”. 我使用的CMS类型系统使用formfield的id作为要插入的表字段的名称. 对于大多数情况,这样做很好,但是对于某个特定字段,它会将“ds-”添加到我给它的任何ID,所以我必须使表字段名称[详细]
-
sql-server-2008 – SQL Server 2008中允许的最大连接数是多少?
所属栏目:[MsSql教程] 日期:2020-12-12 热度:144
SQL Server 2008中允许的最大连接数是多少? 解决方法 SQL Server的限制列在 here中 每个查询的表数仅受可用资源的数量的限制.[详细]
-
SQL – 改进NOT EXISTS查询性能
所属栏目:[MsSql教程] 日期:2020-12-12 热度:83
有没有办法可以改善这种SQL查询性能: INSERTINTO ...WHERE NOT EXISTS(Validation...) 问题是当我的表中有很多数据(如百万行)时,WHERE NOT EXISTS子句的执行速度很慢.我必须执行此验证,因为我无法插入重复的数据. 我使用SQLServer 2005 谢谢 解决方法 确保您[详细]
-
sql-server – 使SQL Server在处理数据时更快 – 关闭事务日志记
所属栏目:[MsSql教程] 日期:2020-12-12 热度:182
我使用SQL Server 2005作为数据存储,我做了大量的数据分析工作.这不是一个事务数据库,因为我没有通过更新或捕获实时数据来触发它.我从客户端获取几个数据,将它们加载到SQL Server中,并进行一系列操作.然后,我抓住这些数据,并把它们拉到R,我做大部分的分析.然[详细]
-
sql – 使用复合/复合主键的缺点是什么?
所属栏目:[MsSql教程] 日期:2020-12-12 热度:69
使用复合/复合主键的缺点是什么? 解决方法 可能会导致更多的问题进行归一化( 2NF,“请注意,当一个1NF表没有复合候选键(由多个属性组成的候选键)时,该表自动处于2NF”) 更多不必要的数据重复.如果您的组合键由3列组成,则需要在每个表中创建相同的3列,作为外键[详细]
-
SQL / Oracle:可以使用多个列的索引
所属栏目:[MsSql教程] 日期:2020-12-12 热度:167
如果我按列(A,B,C)创建索引,我的理解是数据库将能够使用它,即使我只搜索(A)或(A和B)或( A和B和C),但如果仅在(B)或(C),或(B和C)上搜索,则不能.它是否正确? 解决方法 实际上,当谓词放在索引的非引导列上时,Oracle可以使用三种基于索引的访问方法. i)索引跳过扫[详细]
-
sql-server – 如何将SQL Server数据库对象添加到TFS?
所属栏目:[MsSql教程] 日期:2020-12-12 热度:128
我们目前没有任何形式的源代码控制的SQL Server对象.我们最近安装了TFS 2008,我想要添加我们的SQL Server代码.我想我可以脚本化所有的数据库并为每个对象创建脚本文件,但我希望有一种方法可以指向SSMS中的数据库,并创建一个可以添加到TFS或类似的项目.基本上,[详细]
-
sql-server – 如何让SQL Server知道不在查询中使用缓存?
所属栏目:[MsSql教程] 日期:2020-12-12 热度:132
只是一个一般的问题: 执行特殊查询时是否有可以传递给SQL Server的查询/命令不使用缓存? 我正在寻找一个可以设置而不是配置设置的查询/命令.有没有必要这样做? 解决方法 DBCC FREEPROCCACHE 将删除所有缓存过程的执行计划.这将导致所有后续过程调用被重新[详细]
-
sql statistics io扫描计数说明
所属栏目:[MsSql教程] 日期:2020-12-12 热度:60
简单的问题,但我还没有在google上找到一个很好的解释.当使用设置统计IO为ON时,逻辑读取和扫描计数在管理工作室的消息窗口中提供.如果我有: tbl示例,扫描计数5,逻辑读取20 扫描计数是什么意思? 解决方法 从书籍在线 扫描次数: 执行的索引或表扫描数. 逻辑读[详细]
-
sql – 在Oracle中删除大量数据
所属栏目:[MsSql教程] 日期:2020-12-12 热度:134
我不是一个数据库的人,正是和我的大部分db工作一直在MySQL,所以原谅我,如果这个问题的东西是令人难以置信的天真. 我需要从大约1亿行的Oracle表中删除550万行.我有一个临时表中需要删除的行的所有ID.如果只有几千行,我会这样做: DELETE FROM table_name WHERE[详细]
-
sql – oracle数字格式的不需要的前导空格
所属栏目:[MsSql教程] 日期:2020-12-12 热度:109
我需要使用前导零(总共8位数)来填充数字进行显示.我正在使用oracle. select to_char(1011,'00000000') OPE_NO from dual;select length(to_char(1011,'00000000')) OPE_NO from dual; 而不是’00001011’我得到’00001011′. 为什么要获得额外的领先空格?什[详细]
-
在SQL UPDATE中将值舍入到最接近的整数
所属栏目:[MsSql教程] 日期:2020-12-12 热度:149
我正在运行SQL,它需要将值舍入到最接近的整数. 我需要的是45.01次,最多46次.另外45.49次回合到46次,45.99次,最多46次.我想要一切数字. 在如下所示的UPDATE语句中如何实现? Update product SET price=Round 解决方法 您可以使用 ceil 功能,至少在MySQL上;这部[详细]
-
sql – INSERT VALUES WHERE NOT EXISTS
所属栏目:[MsSql教程] 日期:2020-12-12 热度:99
好的,所以我试图改进我的asp数据输入页面,以确保进入我的数据表的条目是唯一的. 所以在这个表中我有SoftwareName和SoftwareType.我试图得到它,如果条目页面发送插入查询与参数匹配表中的什么(所以相同的标题和类型),然后一个错误被抛出并且没有输入数据. 这样[详细]
-
什么是Big-O SQL选择?
所属栏目:[MsSql教程] 日期:2020-12-12 热度:54
什么是Big-O for SQL select,对于n行的表,我想要返回哪个结果? 什么是Big-O更新,删除或创建操作? 我在说mysql和sqlite一般. 解决方法 由于您不控制所选择的算法,因此无法直接知道.但是,没有索引,SE??LECT应该是O(n)(表扫描必须检查每个记录,这意味着它将按[详细]
-
sql – 存储过程/函数可以返回一个表吗?
所属栏目:[MsSql教程] 日期:2020-12-12 热度:89
MySql存储过程/函数可以返回一个表,而不使用临时表吗? 创建以下过程 CREATE PROCEDURE database.getExamples() SELECT * FROM examples; 后来跟它说 CALL database.getExamples() 显示示例表 – 正如预期的那样 – 但以下似乎是不可能的: SELECT * FROM CAL[详细]