MongoDBoracle 模糊查询 性能性能太差,怎么改进

清除回答草稿
&&&您需要以后才能回答,未注册用户请先。MongoDB 模糊查询性能太差,怎么改进_百度知道
MongoDB 模糊查询性能太差,怎么改进
我有更好的答案
建立好合适索引,尽量使用更多的精确查询搭配模糊查询一起,不需要返回的字段要屏蔽,增大机器内存,使用固态硬盘,海量数据使用集群部署。
为您推荐:
其他类似问题
您可能关注的内容
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。mongodb在nodejs下的模糊查询、灵活查询(小例子一枚) - CNode技术社区
查询函数调用时的工作:
//index.js
exports.problemset = function(req, res) {
var str = req.query.search, page = parseInt(req.query.page);
var q = {};
//定义空的查询对象
if (str) {
//如果有搜索请求就增加查询条件
//用正则表达式得到的pattern对title属性进行模糊查询
//这里是搜集合里title属性包含str串的所有结果
var pattern = new RegExp(&^.*&+str+&.*$&);
if (!page) page = 1;
var order = req.query.
var sq = {}, Str, A = 'problemID', B = 'asc';
if (order) {
//是否有排序请求
Str = order.split('_');
A = Str[0]; B = Str[1];
sq[A] = B;
//关联数组增加查询条件,更加灵活,因为A是变量
sq.problemID = 1;
//默认排序查询条件
Problem.get (q, sq, page, function(err, problems, pn) {
if (err) {
req.flash('error', err);
return res.redirect('/');
//to do ...
查询函数的定义:
//problem.js
......//前面省略,这里用的是mongoose操作
Problem.get = function get(q, sq, n, callback) {
problems.find(q).sort(sq).find(function(err, docs){
if (err) {
return callback('Problems matched failed', null, 1);
return callback(err, docs.slice((n-1)*20,n*20), docs.length);
谢谢你,DolphinBoy~
错误的时候记录下日志吧
非常棒,这样的话,查询就非常灵活了。。。
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
服务器赞助商为
,存储赞助商为
,由提供应用性能服务。
新手搭建 Node.js 服务器,推荐使用无需备案的mongodb 特殊符号模糊查询如何实现
- ITeye问答
代码
if ("resourcename".equals(filter.getField())) {
Pattern pattern = Pattern.compile("^.*\\"+ filter.getValue() + ".*$",Pattern.CASE_INSENSITIVE);
query.addCriteria(Criteria.where("resourceName").regex(pattern));
}
可以实现特殊符号的查询 当时比如输入 n 或者 w ,s 之类的 就被转义成 \n \w \s ,
不知道如何解决
目前还没有答案
已解决问题
未解决问题MongoDB 3.0 官方性能测试报告(I):YCSB测试下的并发量提升 | MongoDB中文社区}

我要回帖

更多关于 mysql高性能模糊查询 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信