我有一个使用大量数据的存储过程.我将数据插入到临时表中.事件的总体流程是这样的
CREATE #TempTable (
Col1 NUMERIC(18,0) NOT NULL, --This will not be an identity column.
,Col2 INT NOT NULL,
,Col3 BIGINT,
,Col4 VARCHAR(25) NOT NULL,
--Etc...
--
--Create primary key here?
)
INSERT INTO #TempTable
SELECT ...
FROM MyTable
WHERE ...
INSERT INTO #TempTable
SELECT ...
FROM MyTable2
WHERE ...
--
-- ...or create primary key here?
Run Code Online (Sandbox Code Playgroud)
我的问题是什么时候是在#TempTable表上创建主键的最佳时机?我推断在插入所有数据后我应该创建主键约束/索引,因为索引需要在创建主键信息时重新组织.但我意识到我强调的假设可能是错误的......
如果它是相关的,我使用的数据类型是真实的.在#TempTable表中,Col1并Col4会弥补我的主键.
更新:就我而言,我正在复制源表的主键.我知道构成我的主键的字段将始终是唯一的.如果我在最后添加主键,我不关心失败的alter table.
虽然,除此之外,我的问题仍然存在,假设两者都会成功,这个问题会更快吗?
PS如果这是重复,我很抱歉.它可能是基本的,但我找不到类似的东西.
仅供讨论,对我而言,似乎有两种不同的术语实际上是在说同一件事.这两种设计方法之间是否有任何明显的差异?
我喜欢清洁
using (Html.BeginForm())
Run Code Online (Sandbox Code Playgroud)
并且讨厌添加HTML属性需要指定控制器,操作和表单方法.
using (Html.BeginForm("Action", "Controller", FormMethod.Post,
new { id = "inactivate-form" })
Run Code Online (Sandbox Code Playgroud)
有没有办法使用Html.BeginForm和指定表单的HTML属性,而无需手动连接其他所有内容?
我在几个不同的工作区中有多个项目.但是,似乎我永远无法弄清楚如何更改我当前的工作区.结果是我在我的机器上签出的文件显示为由其他人签出并且无法访问.
我已将KML文件加载到Android设备上.将KML文件的叠加层加载到Google地图的最简单机制是什么?我不想将KML文件上传到网络,而是宁愿在本地打开它.
我正在尝试通过使用特定参数调用控制器中的操作来重定向到另一个页面.我正在尝试使用这一行:
window.open('<%= Url.Action("Report", "Survey",
new { id = ' + selectedRow + ' } ) %>');
Run Code Online (Sandbox Code Playgroud)
但我无法使它发挥作用; 它给出以下错误:
CS1012: Too many characters in character literal.
我不能生成客户端的动作URL吗?或者我是否必须通过提供参数并获取所需的URL来进行Ajax调用?这似乎不对,但我想,如果这是唯一的方法.
有更简单的解决方案吗?
为了现在正在运行并运行,我将Express查询字符串对象直接传递给mongoose find函数.我很好奇的是这种做法在现场应用程序中有多危险.我知道RDBMS极易受到SQL注入攻击.除了"消毒你的输入"的好建议,这段代码是多么邪恶:
app.get('/query', function (req, res) {
models.findDocs(req.query, function (err, docs) {
res.send(docs);
});
});
Run Code Online (Sandbox Code Playgroud)
意味着aa获取请求http://localhost:8080/query?name=ahsteele&status=a只会将以下内容推入findDocs函数:
{
name: 'ahsteele',
status: 'a'
}
Run Code Online (Sandbox Code Playgroud)
由于很多原因,这感觉很糟糕,但它有多安全?将查询参数传递给mongodb的最佳做法是什么?快递提供任何开箱即用的消毒吗?
我现在已经使用TFS大约18个月了,我真的不为此感到兴奋.这似乎是目前市场上最糟糕的SCM版本.
我认为这个线程将帮助人们决定TFS是否适合他们与其他源控制系统.虽然TFS做的远不止这些,但我认为源代码控制对软件开发至关重要,因此您选择的任何系统(或其组合)都需要首先考虑源代码控制.
TFS与其他源代码控制有什么好处 - 它没有其他人做得好吗?
TFS对其他人似乎做得很好的事情有什么不妥?
例如,帐户1 - >*用户 - > 1身份验证 1帐户有多个用户,每个用户将拥有1个身份验证
我来自java背景,所以我通常做的是
accountManager.createAccount(account, userList)但是在django中,框架主张将域逻辑放入模型类(行级)或关联的管理器类(表级),这使得事情有点尴尬.是的,这是好的,如果你的逻辑是只涉及一个表,但在实际应用中,通常每一步都会涉及多个不同的表,甚至数据库,所以我应该在这种情况下怎么办?
将逻辑放入View中?我认为这根本不是好的做法.甚至覆盖模型类中的save方法,使用**kwargs传入额外的数据?然后后端会破裂.
我希望这说明我对业务逻辑放在django应用程序中的位置感到困惑.
django transactions business-logic django-models django-admin
我需要按升序或降序对字符串或数字的内存列表进行排序.但是,列表可以包含空值,并且所有空值必须出现在数字或字符串之后.
那是输入数据可能是:
1, 100, null, 5, 32.3
上升的结果将是
1, 5, 32.3, 100, null
下降列表将是
100, 32.3, 5, 1, null
关于如何使这项工作的任何想法?
asp.net-mvc ×2
tfs ×2
tfs2008 ×2
android ×1
architecture ×1
asp.net ×1
c# ×1
django ×1
django-admin ×1
express ×1
google-maps ×1
indexing ×1
javascript ×1
kml ×1
linq ×1
mongodb ×1
mongoose ×1
node.js ×1
primary-key ×1
security ×1
sql-server ×1
temp-tables ×1
tfs-2005 ×1
transactions ×1
use-case ×1