Tag: 表现

在数据大小超过500万时,从mongoDb中的java查询变慢

我的应用程序遇到了来自java的mongoDb中的find()操作的性能问题,当数据大小超过500万时,它需要花费大量的时间(有时需要几千毫秒来搜索单个文档)。 任何投入都表示赞赏。 🙂 java查询查询: db.test.find(“flag”:false, $or:[{“uni.phone”:”99********”},{“uni.mail”:”abc@test.com”}] mongoDb的索引: db.test.createIndex({“flag”:-1}) db.test.createIndex({“uni.phone”:1}) db.test.createIndex({“uni.mail”:1}) Mongo文件json: { “_id” : “912c2345-f95g-40bf-c871-f6135d3acd879”, “uni” : { “phone” : [ “99********” ], “email” : [ “abc@test.com” ] }, “comb” : false, “flag” : false, “combIds” : null, “Histories” : null, “creationDate” : “2017-06-14T17:03:44Z” } Mongo Stats :在这里捕获Mongo样本统计数据

PackageInfo LoadLabel性能缓慢

我正在为Android编写应用程序,其中获取应用程序的标签(实际名称)极其缓慢。 特别是这段代码执行得非常糟糕: packageInfo.loadLabel(pm); 只是为了给你一些指标。 在安装了400个应用程序的Android设备上,构建所有应用程序包名称列表(com.android。*等等)只需不到一秒钟。 但是,获取每个应用程序的实际名称需要30多秒。 我也试过这段代码,但结果差不多(非常慢): (String)pm.getApplicationLabel(packageInfo); 问题:如果已知应用程序包名称(即“com.android.htmlviewer”),是否有其他方法可以快速获取应用程序名称(即“HTML Viewer”)?

实现一个Map,其中键是非重叠范围的集合

我使用List和循环来解决当前实现的性能问题。 我正在考虑制作一些自定义Map但是可以正确覆盖getter以使用以下设置: Map包含自定义对象,键可以如下: case A key: “10” calling get(“10”) would return matching object case B key: “10;12;14” calling get(“10”),get(“12”),get(“14”) would return same object case C key: “10;20-30” calling get(“10”), get(value between 20 and 30) would return same object 在这种场景中使用Map是最好的方法,可能有哪些替代方案? 谢谢。