小编Dan*_*ola的帖子

在SQL Server中创建UNIQUE索引作为"索引"或"约束"有什么区别?

在要创建UNIQUE(但不是表的主键)的列上创建索引时,SQL Server让我选择以下几个选项:

1)我可以选择它作为约束或索引.
我猜这意味着如果我将它设置为约束,它将不会在查询时使用它,只有在写入时.但是,我能想到的SQL Server强制执行该约束的唯一有效方法是实际构建索引.这个选项有什么用?

2)此外,如果我将其设置为"索引",它让我指定它应该忽略重复键.这对我来说是最令人费解的......
我再次猜测它意味着与约束相反.它可能意味着"在查询时使用它,但在写入时甚至不检查".
但那我为什么要把它设置为独一无二的呢?
我猜测SQL Server可以做一些优化,但我想更好地理解它.

有谁知道SQL Server对这些选项究竟做了什么?
将索引设置为Unique,但忽略重复键的用例是什么?

注意:这适用于SQL Server 2000


编辑:根据你所说的,但是......如果我创建一个约束,它是否会用于加速使用约束中的字段进行过滤的查询?

谢谢!

sql-server indexing constraints unique

13
推荐指数
2
解决办法
4034
查看次数

如何在ASP.Net中为搜索表单执行<form method ="get">?

我在我正在开发的应用程序中有一个搜索表单,我希望它相当于method="GET".

因此,当点击搜索按钮时,用户前往 search.aspx?q=the+query+he+entered

我想要这个的原因只是可以添加书签的URL,而且这样做会感觉更干净.

我也不希望将viewstate隐藏字段值附加到URL.

我能想到的最好的是:

  1. 捕获按钮的服务器端单击事件和Response.Redirect.
  2. 将Javascript onclick处理程序附加到触发的按钮window.location.replace.

两者都感到古怪和次优......你能想到一个更好的方法吗?

forms asp.net methods get

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

什么是最好的Android手机作为开发人员

我知道你可以买一个开发者手机,但新的G2看起来不错,三星即将到来.但我认为,如果它们是您希望生产的应用程序的目标市场,那么使用消费者手机会更好一点,特别是出于测试目的.

有没有其他人有这种选择的经验,并为这个问题提供进一步的照明?

android

13
推荐指数
2
解决办法
5144
查看次数

可以在URL主机中显示的有效字符是什么?

我正在写一些处理URL的代码,我想确保我不会遗漏一些奇怪的案例......

除了以下主机之外是否有任何有效字符:AZ,0-9," - "和"."?

(这包括可以在子域中的任何东西,等等.基本上,在//和第一个/之间的任何东西)

谢谢!

url host

13
推荐指数
3
解决办法
1万
查看次数

无法将IQueryable <>转换为IOrderedQueryable错误

我有以下LINQ代码:

    var posts = (from p in db.Posts
         .Include("Site")
         .Include("PostStatus")
        where p.Public == false
        orderby p.PublicationTime 
        select p);

        if (!chkShowIgnored.Checked) {
            posts = posts.Where(p => p.PostStatus.Id != 90);
        }
Run Code Online (Sandbox Code Playgroud)

最后一行(额外的地方)给了我错误:

无法将类型'System.Linq.IQueryable'隐式转换为'System.Linq.IOrderedQueryable'.

我不确定这意味着什么......
为什么我会收到这个错误?
一旦我将"orderby"子句添加到查询中,它之前就编译好了,所以我对所发生的事情有一种预感,但我无法完全理解它.

c# iqueryable type-conversion linq-to-sql iorderedqueryable

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

如何合并2个.POT文件(翻译文件)

我有以下情况:

我要翻译的一个产品,有两个独立的网站,一个用于管理员,一个用于客户.
代码库是CakePHP.
两个站点彼此完全分离,它们是完整的CakePHP站点.
而且它们都有很多共同点.

因此,使用CakePHP,我为每个站点生成.pot文件,但我很乐意为翻译者提供一个文件,两个.pot文件中都有唯一的字符串.

他们会给我一个带有两个网站字符串的.po文件,我只是将同一个文件复制到两个网站,所以我会有.po文件,其中包含代码不会使用的额外字符串,但是应该不是问题.

所以问题基本上是......我如何合并两个.pot文件?

  • 我需要获得一个没有重复字符串的新文件.
  • 理想情况下,它会在CakePHP添加的每个字符串之前保留(并且对于重复的字符串,追加)注释,指定找到字符串的位置,但如果没有这样做,那很好,我可以没有它.(有关此内容的说明,请参见下文.pot文件的摘录)

你知道有什么工具让我这么做吗?我真的很想避免写自己的.


这些是我上面谈到的评论:

#: \controllers\accounts_controller.php:118
#: \controllers\customer_documents_controller.php:75
msgid "Parent Customer not specified"
msgstr ""
Run Code Online (Sandbox Code Playgroud)

translation localization gettext internationalization

13
推荐指数
1
解决办法
5383
查看次数

如何格式化BigDecimal以仅显示所需的十进制数字?

我有一个BigDecimal,它有0,1或2个十进制数字(我在它上面调用round(2)).我希望在视图中以这样的方式显示它,它只会显示所需的十进制数字.换一种说法:

 7.0 -> "7"
 7.5 -> "7.5"
 7.67 -> "7.67"
Run Code Online (Sandbox Code Playgroud)

我该如何实现这一目标?到目前为止,它显示的是"7.0"而不是"7".

ruby formatting ruby-on-rails-3

13
推荐指数
2
解决办法
5264
查看次数

如何检测我的代码是否在Sidekiq服务器或Puma"内部"运行?

我正在使用Puma作为Web服务器,而Sidekiq作为我的队列运行器.

对于多个事物(数据库连接,Redis连接,其他外部服务),我正在使用ConnectionPool gem来管理对连接的安全访问.

现在,根据我是在Sidekiq还是Puma的上下文中运行,我需要这些池的大小不同(分别与Sidekiq线程或Puma线程的数量一样大,它们是不同的)

在初始化程序中,了解基于执行上下文建立连接池的最佳方法的最佳方法是什么?

谢谢!

ruby connection-pooling sidekiq puma ruby-on-rails-4

13
推荐指数
1
解决办法
2030
查看次数

如何在SQL Server存储过程中添加换行符?

我正在创建一个存储过程,它基本上将一个长字符串与来自许多记录的数据连接起来.

我想要做:

set @output = @output + 'aaa' + LINEBREAK
Run Code Online (Sandbox Code Playgroud)

如何指定换行符?

t-sql sql-server stored-procedures

12
推荐指数
1
解决办法
3万
查看次数

HTML5历史记录API:当"返回"到另一个页面时显示JSON,然后再次"转发"

我有一个页面,其中有几个搜索/过滤按钮,当点击时,通过AJAX刷新下面列表的内容.

在这个过程中,我正在修改历史记录(通过pushstate),以便新的过滤页面可以添加书签,因此后退按钮可以正常工作.我也在听popstate事件,对Back做出反应.

我的代码看起来或多或少像这样:

window.addEventListener("popstate", function(ev) {
  if (!window.history_ready) { return; } // Avoid the one time it runs on load 
  refreshFilter(window.location.href, true);
});

refreshFilter: function(newURL, backButtonPressed){
  $.ajax({ url: newURL}).done( blah );

  if (!backButtonPressed) {
    window.history_ready = true;
    history.pushState(null, null, newURL);
  }
}
Run Code Online (Sandbox Code Playgroud)

除了一个奇怪的案例外,这种方法效果很好......

  • 用户在页面"A"
  • 他们点击一个链接转到这个播放历史的页面(让我们称之为"B")
  • 他们运行几个过滤器,然后按回几次,所以他们回到初始状态"B"
  • 他们再次单击Back,将它们发送回"A"
  • 此时,如果他们按下Forward,而不是再次向服务器请求Page"B",浏览器只显示一堆JSON代码作为页面内容(这个JSOn是我的一个AJAX请求的响应)过滤东西)

至少在最新的Chrome中

为什么会发生这种情况,我该如何避免呢?

html5 back-button browser-history html5-history

12
推荐指数
2
解决办法
2873
查看次数