- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用 SQL Server 2008 RC2。
我们经常要做类似这样的查询:
select * from Site s where s.name in (:names)
其中 ":names"
是一个很大的 StringBuilder
,包含 1000 个以逗号分隔的 18 字节名称。这需要一段时间才能运行;在我的本地开发机器上最多一分钟。我知道很多人为此建议使用 Table Valued Parameters
(TVP),例如下面的示例:
create procedure [dbo].[sp_TestSites] @siteNames SiteNameTableType readonly
as
begin
select s.* from Site s
inner join @siteNames d on d.name = s.name
end
但由于 Microsoft JDBC 驱动程序仍然不支持 TVP(据我所知),实现这一点的最佳方法是什么?将一长串逗号分隔值发送到存储过程,然后拆分过程中的字符串并插入到临时表中?示例:
create type dbo.SiteNameTableType as table(
name varchar(18) not null unique
)
create procedure sp_TestSites(
@longStringOfNames varchar(max))
as
begin
declare @siteNames SiteNameTableType
insert into @siteNames
select * from dbo.split(@longStringOfNames) -- assume I have a Split function
select s.* from Site s
inner join @siteNames d on d.name = s.name
end
最佳答案
正如我在评论中提到的,您可以将数据准备为 XML 字符串并将其传递给存储过程。在 SP 中,您可以查询该 XML 并根据需要加入结果集。
关于java - JDBC 中大型 IN 子句的替代方案,如何使用 Java 中的表值参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16783047/
我们在 RedHat 中使用 Postgres 9.2。我们有一个类似于以下的表: CREATE TABLE BULK_WI ( BULK_ID INTEGER NOT NULL, U
根据我的计算,将浮点值转换为计算机存储的二进制值(符号、指数、尾数格式),在 32 位中,1 位用于符号,8 位用于指数。 所以只剩下 23 位来表示数字。 所以我认为具有正确行为的浮点值范围仅为 0
我有一个像这样的临时表: CREATE TABLE `staging` ( `created_here_at` TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTA
下面是我的 HTML: Fact Sheet Facilities and Administrative (F&A) Cost Agreem
我想知道为什么 .add(i, E) 是 O(n) 而 .get(i) 是 O(1)?是不是因为 n 元素在插入后必须向右移动? 最佳答案 记住大 O 表示法显示问题的数量级而不是最佳情况解决方案..
我在装有 GCC 4.8.2 的 Windows 8.1、Intel i7-3517U 64 位笔记本电脑上测试这个简单的 C++ 代码。 #include using namespace std;
我是一名优秀的程序员,十分优秀!