現在、プロジェクトで SQL Server 2008 を使用してデータを保存およびフェッチしています。これは今のところ完璧です。50ms (JSON) 未満で 20000 レコードをフェッチできます。しかし、挿入物の問題に直面しています。私のプロジェクトでは、毎分 100000 レコードのようなものを挿入できる必要があります。これはSQLサーバーでは非常に遅いようです。
私はmongoDBのような別のデータベース(NOSQL DB)を使用しようとしました.SQLServer(270s)と比較してデータの保存が非常に高速ですが(5秒)、データのフェッチではSQLほど高速ではありません(20000 => 180ms)。
だから私はここで、SQL の保存を高速化する方法があるかどうかを尋ねています。または、mongoDB のフェッチを高速化します (私は mongoDB の専門家ではありませんが、非常に基本的なことは知っています)。
public static void ExecuteNonQuery(string sql)
{
SqlConnection con = GetConnection();
con.Open();
SqlCommand cmd = new SqlCommand(sql, con);
try
{
cmd.ExecuteNonQuery();
}
finally
{
con.Close();
}
}
SQLの挿入機能
public IEnumerable<T> GetRecords<T>(System.Linq.Expressions.Expression<Func<T, bool>> expression, int from, int to) where T : class, new()
{
return _db.GetCollection<T>(collectionName).Find<T>(expression).Skip(from).Limit(to).Documents;
}
Mongo の Select 関数 (MongoDB 1.6)
更新 : データ構造: (int) Id 、(string) データ