标签: sql-server

最喜欢的性能调整技巧

当您有一个需要性能调优的查询或存储过程时,您尝试的第一件事是什么?

sql database sql-server performance

126
推荐指数
8
解决办法
4万
查看次数

什么是"多部分标识符",为什么不能绑定它?

当我尝试基于另一个表更新表时,我不断收到这些错误.我最终重写了查询,更改了连接的顺序,更改了一些分组,然后它最终起作用,但我只是不太明白.

什么是"多部分标识符"?
何时"多部分标识符"无法绑定?
无论如何它到底是什么?
在什么情况下会发生此错误?
什么是预防它的最佳方法?

SQL Server 2005的具体错误是:

无法绑定多部分标识符"...".

这是一个例子:

UPDATE  [test].[dbo].[CompanyDetail]

SET Mnemonic = [dbBWKMigration].[dbo].[Company].[MNEMONIC], 
               [Company Code] = [dbBWKMigration].[dbo].[Company].[COMPANYCODE]

WHERE [Company Name] = **[dbBWKMigration].[dbo].[Company].[COMPANYNAME]**
Run Code Online (Sandbox Code Playgroud)

实际错误:

消息4104,级别16,状态1,行3无法绑定多部分标识符"dbBWKMigration.dbo.Company.COMPANYNAME".

sql sql-server

126
推荐指数
6
解决办法
37万
查看次数

拆分功能相当于T-SQL?

我想把'1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 ......'(逗号分隔)拆分成表或表变量.

有没有人有一个函数可以连续返回每一个?

sql t-sql sql-server sql-server-2008

126
推荐指数
6
解决办法
23万
查看次数

什么是MDF文件?

这是一个"嵌入式"的数据库吗?包含内置数据库的文件?

database sql-server file mdf

126
推荐指数
2
解决办法
32万
查看次数

如何删除具有约束的列?

如何删除SQL Server 2008中具有默认约束的列?

我的疑问是

alter table tbloffers
drop column checkin
Run Code Online (Sandbox Code Playgroud)

我收到了以下错误

ALTER TABLE DROP COLUMN签入失败,因为一个或多个对象访问此列.

任何人都可以更正我的查询以删除具有约束的列吗?

sql-server sql-server-2008

126
推荐指数
4
解决办法
22万
查看次数

125
推荐指数
4
解决办法
22万
查看次数

禁用表的启用触发器SQL服务器

我想创建一个如下所示的proc,但它在语法上有错误.谁有人指出这个问题?

Create PROCEDURE [dbo].[my_proc] AS

BEGIN

DISABLE TRIGGER dbo.tr_name ON dbo.table_name

-- some update statement

ENABLE TRIGGER dbo.tr_name  ON dbo.table_name

END

** Error Message : Incorrect syntax near 'ENABLE'.
Run Code Online (Sandbox Code Playgroud)

sql-server triggers

125
推荐指数
3
解决办法
17万
查看次数

SQL Server:使用sql查询获取表主键

可能重复:
如何列出SQL Server表的主键?

我想使用SQL查询SQL Server数据库获取特定表的主键.

MySQL中我使用以下查询来获取表主键:

SHOW KEYS FROM tablename WHERE Key_name = 'PRIMARY'
Run Code Online (Sandbox Code Playgroud)

什么相当于上面的SQL Server查询?

如果有一个查询适用于MySQLSQL Server,那么它将是一个理想的情况.

sql sql-server

125
推荐指数
7
解决办法
40万
查看次数

如何将逗号分隔值拆分为列

我有一张这样的桌子

Value   String
-------------------
1       Cleo, Smith
Run Code Online (Sandbox Code Playgroud)

我想将逗号分隔的字符串分成两列

Value  Name Surname
-------------------
1      Cleo   Smith
Run Code Online (Sandbox Code Playgroud)

我只需要两个固定的额外列

sql-server csv sql-server-2008

125
推荐指数
19
解决办法
85万
查看次数

确定记录是否存在的最快方法

正如标题所暗示的那样......我正在试图以最少的开销来找出最快的方法来确定表中是否存在记录.

示例查询:

SELECT COUNT(*) FROM products WHERE products.id = ?;

    vs

SELECT COUNT(products.id) FROM products WHERE products.id = ?;

    vs

SELECT products.id FROM products WHERE products.id = ?;
Run Code Online (Sandbox Code Playgroud)

假设?'TB100'... 交换...第一个和第二个查询将返回完全相同的结果(例如... 1对于此对话).最后一个查询将按'TB100'预期返回,如果id表中没有,则不返回任何内容.

目的是弄清楚id表中是否有.如果没有,程序将接下来插入记录,如果是,程序将跳过它或基于该问题范围之外的其他程序逻辑执行UPDATE查询.

哪个更快,开销更少?(每个程序运行将重复数万次,并且每天将运行多次).

(通过M $提供的JDBC驱动程序从Java运行此M $ SQL Server查询)

sql sql-server performance select count

125
推荐指数
7
解决办法
39万
查看次数

标签 统计

sql-server ×10

sql ×5

database ×3

sql-server-2008 ×3

performance ×2

t-sql ×2

count ×1

csv ×1

file ×1

mdf ×1

select ×1

triggers ×1