Я сейчас использую SQL Server 2008 в своем проекте для хранения и извлечения данных. до сих пор это происходит идеально. Я могу получить 20000 записей менее чем за 50 мс (JSON). но столкнулся с проблемой со вставками. В моем проекте мне нужно иметь возможность вставлять около 100000 записей каждую минуту. и это, кажется, очень медленно с сервером SQL.
Я попытался использовать другую базу данных (NOSQL DB), такую как mongoDB, которая очень быстро хранит данные (5 с) по сравнению с SQLServer (270 с), но не так быстро, как sql при получении данных (20000 => 180 мс).
Поэтому я спрашиваю здесь, есть ли способ сделать 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;
}
Функция выбора Монго (MongoDB 1.6)
Обновление
: структура данных: (int) Id, (string) Data