标签: sql-server

SqlBulkCopy的推荐批量大小是多少?

推荐的批量大小是SqlBulkCopy多少?我正在寻找一个可用作性能调优起点的通用公式.

.net sql-server performance ado.net

81
推荐指数
4
解决办法
5万
查看次数

SQL Server计划:索引扫描/索引搜索之间的区别

在SQL Server执行计划中,索引扫描和索引搜索之间的区别是什么

我在SQL Server 2005上.

sql sql-server sql-execution-plan

81
推荐指数
4
解决办法
9万
查看次数

如何将SQL Server数据库导出到MySQL?

我正在尝试从SQL Server数据库备份文件(.bak)转换为MySQL.这个问题和答案非常有用,我已经成功导入了数据库,但现在我仍然坚持导出到MySQL.

建议使用MySQL Migration Toolkit,但似乎已被MySQL Workbench取代.是否可以使用MySQL Workbench以与迁移工具相同的方式从SQL Server迁移?

或者迁移工具包是否仍可在某处使用?

mysql sql-server database-migration

81
推荐指数
7
解决办法
27万
查看次数

将子查询中的多个结果合并为一个逗号分隔值

我有两张桌子:

TableA
------
ID,
Name

TableB
------
ID,
SomeColumn,
TableA_ID (FK for TableA)
Run Code Online (Sandbox Code Playgroud)

这种关系是一排TableA- 许多TableB.

现在,我希望看到这样的结果:

ID     Name      SomeColumn

1.     ABC       X, Y, Z (these are three different rows)
2.     MNO       R, S
Run Code Online (Sandbox Code Playgroud)

这不起作用(子查询中有多个结果):

SELECT ID,
       Name, 
       (SELECT SomeColumn FROM TableB WHERE F_ID=TableA.ID)
FROM TableA
Run Code Online (Sandbox Code Playgroud)

如果我在客户端进行处理,这是一个微不足道的问题.但这意味着我必须在每个页面上运行X查询,其中X是结果的数量TableA.

请注意,我不能简单地执行GROUP BY或类似的操作,因为它将为行返回多个结果TableA.

我不确定使用COALESCE或类似东西的UDF是否可行?

t-sql sql-server join

80
推荐指数
4
解决办法
14万
查看次数

来自数据库表的随机记录(T-SQL)

是否有一种简洁的方法从sql server表中检索随机记录?

我想随机化我的单元测试数据,所以我正在寻找一种从表中选择随机id的简单方法.在英语中,select将是"从表中选择一个id,其中id是表中最低id和表中最高id之间的随机数."

我无法找到一种方法来执行它而无需运行查询,测试空值,然后重新运行,如果为null.

想法?

t-sql sql-server random

80
推荐指数
4
解决办法
5万
查看次数

SQL Server中的表和索引大小

我们可以有一个SQL查询,它基本上有助于查看SQl Server中的表和索引大小.

SQL Server如何维护表/索引的内存使用?

sql-server

80
推荐指数
6
解决办法
14万
查看次数

T-SQL:循环遍历已知值的数组

这是我的情景:

假设我有一个存储过程,我需要在一组特定的id上调用另一个存储过程; 有没有办法做到这一点?

即而不是需要这样做:

exec p_MyInnerProcedure 4
exec p_MyInnerProcedure 7
exec p_MyInnerProcedure 12
exec p_MyInnerProcedure 22
exec p_MyInnerProcedure 19
Run Code Online (Sandbox Code Playgroud)

做这样的事情:

*magic where I specify my list contains 4,7,12,22,19*

DECLARE my_cursor CURSOR FAST_FORWARD FOR
*magic select*

OPEN my_cursor 
FETCH NEXT FROM my_cursor INTO @MyId
WHILE @@FETCH_STATUS = 0
BEGIN

exec p_MyInnerProcedure @MyId

FETCH NEXT FROM my_cursor INTO @MyId
END
Run Code Online (Sandbox Code Playgroud)

我的主要目标是简单的可维护性(随着业务的变化,很容易删除/添加id),能够在一行中列出所有Id ...性能不应该是一个大问题

sql t-sql sql-server

80
推荐指数
5
解决办法
15万
查看次数

为何使用Select Top 100%?

据我所知,在SQL Server 2005之前,您可以"欺骗"SQL Server以允许在视图定义中使用顺序,也包括TOP 100 PERCENTSELECT子句中.但是我已经看到了我继承的其他代码,它们SELECT TOP 100 PERCENT在动态SQL语句中使用...(在 ASP.NET应用程序中用于ADO等).这有什么理由吗?结果不一样,包括?TOP 100 PERCENT

sql t-sql sql-server

80
推荐指数
6
解决办法
13万
查看次数

有没有办法使用普通ADO从SQL Server检索视图定义?

我使用ADO Connection OpenSchema()调用以各种方式成功从SQL服务器上托管的数据库中提取列定义,因此我可以在另一个SQL数据库中以编程方式重新创建这些表.到现在为止还挺好.

使用多个视图进行与上表的主要交互; 虽然OpenSchema()能够以与返回表的列定义相同的方式返回视图的列定义,但缺少一小部分信息 - 视图中的列映射到的基础表中的哪个表和列.

我尝试使用ADOX目录视图访问用于创建视图的SQL命令,但似乎我们使用的SQL Server的OLEDB驱动程序不支持此功能.

有没有办法通过ADO获取视图配置的这些信息,或者以"ColumnX映射到表Z中的ColumnY"的方式或以用于创建视图的实际SQL命令的形式?

sql-server ado view

80
推荐指数
4
解决办法
17万
查看次数

如何将SQL Server的timestamp列转换为datetime格式

由于SQL Server返回时间戳'Nov 14 2011 03:12:12:947PM',是否有一些简单的方法将字符串转换为日期格式,如'Ymd H:i:s'.

到目前为止我用了

date('Y-m-d H:i:s',strtotime('Nov 14 2011 03:12:12:947PM'))
Run Code Online (Sandbox Code Playgroud)

sql-server datetime timestamp

80
推荐指数
4
解决办法
59万
查看次数