大家好,我使用mongodb 2.4.6版本和Windows 2008 64位版本.
我有一个有200万条记录的集合,需要在客户端进行搜索和分页.
db.products.find({"catalogs":1205}).skip().limit() is very fast .
Run Code Online (Sandbox Code Playgroud)
但是当计算总记录数时:
db.products.find({"catalogs":1205},{"_id":1}).count() is too slow.
>> 442312 records.
>>[log] Sat Sep 28 00:20:01.566 [conn10] command products.$cmd command: { count: "products", query: { catalogs: 1205.0 }, fields: { _id: 1.0 } } ntoreturn:1 keyUpdates:0 locks(micros) r:460681 reslen:48 460ms
Run Code Online (Sandbox Code Playgroud)
这个计数命令经过的时间是460ms,太慢了.如果我们有很多请求那么可怕.
我为'catalogs'字段创建了一个索引,并且无法使用$inc命令,因为查询可能非常复杂.
谷歌搜索一些像这个问题,发现这个'计数'性能错误已经修复mongodb 2.4版本.
来自http://docs.mongodb.org/manual/release-notes/2.4-overview/
Improvements to count provide dramatically faster count operations. Counting is now up to 20 times faster for low cardinality index based counts.
Run Code Online (Sandbox Code Playgroud)
有什么方法可以提高数量?谢谢. …
在我看到这个问题和答案之前:使用WinDbg将托管字节[]的内容写入文件,但我有一个问题,提到答案是将所有字节写入文件(方法表指针,数组长度和数组内容) ,我想只是写一个数组内容到该文件.
例如,我创建了一个长度为8192的字节数组.
var bytes=new Byte[8192]
Run Code Online (Sandbox Code Playgroud)
并使用windbg并崩溃.
0:034> !do 0x0143fd1c
Name: System.Byte[]
MethodTable: 5ce54944
EEClass: 5cb8af1c
Size: 8204(0x200c) bytes
Array: Rank 1, Number of elements 8192, Type Byte
Element Type:System.Byte
Content: .0.................:.i......$...,x"!.a_.h#......66..vx.4...P.R?...M
Fields:
None
0:034> dd 0x0143fd1c
0143fd1c 5ce54944 00002000 0a0d300a 16460a0d
0143fd2c 957bd993 1f92335c 79a2d058 72455ef6
0143fd3c cc16c7b1 05b18e14 5b1df595 0fb5dbd8
0143fd4c 629a16c6 0edb5c9a 6ede4110 5d5da54e
0143fd5c 4638143a efcad6db 060935f1 a9a48285
0143fd6c e414cff0 8aeaae92 f169b93a f80bd6de
0143fd7c 9a9824d1 22782ccd 5f610c21 0f2368b4
0143fd8c ae09d410 083636c3 0b787616 101ab234
0:034> …Run Code Online (Sandbox Code Playgroud) 我有以下图像并且已二值化?

我需要分割此图像并识别digit.double数字4'和'9'连接在一起。
我阅读了一些有关``分水岭形态''方法的文档。以下图像已实现为``分水岭分割''。


显然,仍然有两位44位数字连接在一起,但是已经有9位数字已经分段成功。
我需要一些帮助来分割44个字符!谢谢。