我一直在研究几种用于.NET的JSON解析器(LitJSON,JsonExSerializer和JSON.NET),并且想知道是否有人对它们有任何经验,并且可以阐明它们之间的差异和利弊.
我正在寻找Windows内核环境的测试框架.到目前为止,我发现了cfix.有人试过吗?还有替代品吗?
我有一个涉及两个表的查询:表A有很多行,并包含一个名为的字段b_id,该字段引用表中的记录B,该表有大约30个不同的行.表上A有一个索引b_id,表上B有一个索引name.
我的查询看起来像这样:
SELECT COUNT(A.id) FROM A INNER JOIN B ON B.id = A.b_id WHERE (B.name != 'dummy') AND <condition>;
随着condition桌子上的一些随机条件A(我有很多,所有表现出相同的行为).
此查询非常慢(以2秒为单位),并使用说明,显示查询优化器以表开始,B提供约29行,然后扫描表A.做一个STRAIGHT_JOIN,转动订单,查询立即运行.
我不是黑魔法的粉丝,所以我决定尝试别的东西:拿出B名字的记录的id,dummy比方说23,然后将查询简化为:
SELECT COUNT(A.id) FROM A WHERE (b_id != 23) AND <condition>;
令我惊讶的是,这个查询实际上比直接连接要慢,向北走一秒钟.
关于为什么连接比简化查询更快的任何想法?
更新:根据评论中的请求,解释的输出:
直接加入:
+----+-------------+-------+--------+-----------------+---------+---------+---------------+--------+-------------+
| id | select_type | table | type   | possible_keys   | key     | key_len | …假设我有一个存储在向量中的服务器名称列表,我想一次联系他们一个,直到他们成功响应。我正在考虑以下列方式使用 STL 的 find_if 算法:
find_if(serverNames.begin(), serverNames.end(), ContactServer());
其中 ContactServer 是谓词函数对象。
一方面,存在一个问题,因为对于相同的服务器名称,谓词并不总是返回相同的结果(因为服务器停机、网络问题等......)。但是,无论使用谓词的哪个副本(即谓词没有真实状态),都将返回相同的结果,因此在这种情况下与状态保持谓词的原始问题无关。
你怎么说?
我查看了几个教程,ruby指南和几个stackoverflow问题.我首先尝试使用simple_form,现在是老式的方式,无法弄清楚为什么params没有通过.
控制器:
def new
  @topgem = Topgem.new
end
def create 
  @topgem = Topgem.new(topgem_params)
  if @topgem.save
    redirect_to @topgem
  else
    render 'new'
  end
...
 private
    def topgem_params
      params.require(:name).permit(:url, :description, :downloads, :last_updated)
    end
模型:
class Topgem < ActiveRecord::Base
  has_many :votes
  has_many :users, through: :votes
  validates :name, presence: true, uniqueness: true, :length => {
    :minimum =>2,
    :maximum =>50}
  validates :url, presence: true
  validates :description, presence: true 
  validates :downloads, numericality: { only_integer: true }
end
new.html.erb
<%= form_for(@topgem) do |f| %>
  <%= f.label :name %>: …