2 liao00001 liao00001 于 2016.01.20 22:01 提问

mongodb写入byte[]类型 4M左右数据很慢

int rows = 1000;
int cols = 1000;
float[,] data = new float[rows, cols];
var floatArray = DimensionManagerV2d0.Dimension2To1(rows, cols, 1, data);
var byteArray = DataTypeManagerV2d0.ConvertFloat2ByteArray(floatArray);

DateTime t1 = DateTime.Now;
var entity = new Entity { ObserveTime = 201601010005, Data = byteArray };
MongoDbHelper.Save(MongoDbHelper.DefaultCollectionName, entity);

string message = string.Format("写入耗时:{0}毫秒.", (DateTime.Now - t1).TotalMilliseconds);

DateTime t2 = DateTime.Now;
IMongoQuery query = Query.EQ(t => t.Id, entity.Id);
var queryData = MongoDbHelper.FindOne(MongoDbHelper.DefaultCollectionName, query);
message += string.Format("查询共耗时:{0}毫秒.", (DateTime.Now - t2).TotalMilliseconds);
MessageBox.Show(message);

以上代码就是写入一个1000*1000的二维数组。写入和读取大概要1.5秒左右。那位可以处理一下应该一般情况下35毫秒能解决的。

4个回答

liao00001
liao00001   2016.01.21 10:52
已采纳

不能把驱动换成2.0.因为项目是net framework 4.0的。再加序列化速是多少?这样操作很头痛。到时我要查找范围行和列的数据就无法实现了。

devmiao
devmiao   Ds   Rxr 2016.01.20 22:41
devmiao
devmiao   Ds   Rxr 2016.01.20 22:41
oyljerry
oyljerry   Ds   Rxr 2016.01.20 22:41

查看一下你的mongodb的日志 同时查看一下性能瓶颈

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!