Javascript 优化结果页面以首先查询结果编号

Javascript 优化结果页面以首先查询结果编号,javascript,mysql,angularjs,node.js,express,Javascript,Mysql,Angularjs,Node.js,Express,这是我的密码。但对于结果超过1000行的加载时间,我有一些问题 如何更改代码以首先检查create paginate的查询结果数。然后,只获得分页页面的结果 function showResult(req, res){ var n = req.query.query; mysql_conn.query('SELECT query_text FROM catalogsearch_query WHERE query_text LIKE "%' + n + '%" ORDER BY

这是我的密码。但对于结果超过1000行的加载时间,我有一些问题

如何更改代码以首先检查create paginate的查询结果数。然后,只获得分页页面的结果

function showResult(req, res){

    var n = req.query.query;
    mysql_conn.query('SELECT query_text FROM catalogsearch_query WHERE query_text LIKE "%' + n + '%" ORDER BY popularity DESC LIMIT 0 , 10', function (error, rows) {
        mysql_crawl.query('SELECT prod_name, full_price, discount_price, quantity, fulltext_id,prod_link, images, prod_desc, status, web_name,web_logo FROM `catalogsearch_fulltext` WHERE MATCH(data_index) AGAINST("'+n+'") ', function(error, product_data) {

            var totalItems = product_data.length, itemts=product_data;

    //set default variables
    var totalResult = totalItems,
        pageSize = 10,
        pageCount = Math.floor(totalResult / pageSize)
        currentPage = 1


    //set current page if specifed as get variable (eg: /?page=2)
    if (typeof req.query.page !== 'undefined') {
        currentPage = +req.query.page;
    }

    //render index.ejs view file
            res.render('result.html', {result: n, 
            related: rows.map(row => row.query_text), 
            page_num: p,
            product_data: product_data,
            totalItems: totalItems,
            pageSize: pageSize,
            pageCount: pageCount,
            currentPage: currentPage})
        });
    });
}

首先,获得结果的总行数

从表中选择计数(*),其中1=1

第二个是获取行结果的查询,但限制为ex.10,偏移量首先从零开始

从表中选择*,其中1=1限制10,0

这意味着结果将从0开始,然后在下一页中,您应该为偏移量添加10

从表中选择*,其中1=1限制10,10


所以它从10到20开始,首先你得到结果的总行数

从表中选择计数(*),其中1=1

第二个是获取行结果的查询,但限制为ex.10,偏移量首先从零开始

从表中选择*,其中1=1限制10,0

这意味着结果将从0开始,然后在下一页中,您应该为偏移量添加10

从表中选择*,其中1=1限制10,10


所以它从10到20开始,实际上有两个方面:客户端和服务器端

客户端,使用angularjs,请评估使用AngularUI分页指令:

这里是stackoverflow post的链接,其中有一个工作示例:

关于服务器端,您可以提供一种使查询动态化的方法,只检索传递范围内的结果。比如说:

“从catalogsearch中选择查询文本,其中查询文本如“%”+n+“%”按流行程度排序描述限制%,%”

根据分页从客户端传递限制参数。
因此,在加载新页面之前,使用正确的限制参数调用查询,因此实际上有两个方面:客户端和服务器端

客户端,使用angularjs,请评估使用AngularUI分页指令:

这里是stackoverflow post的链接,其中有一个工作示例:

关于服务器端,您可以提供一种使查询动态化的方法,只检索传递范围内的结果。比如说:

“从catalogsearch中选择查询文本,其中查询文本如“%”+n+“%”按流行程度排序描述限制%,%”

根据分页从客户端传递限制参数。 因此,在加载新页面之前,请使用正确的限制参数调用查询