Javascript 交互速度非常慢,数据量很大

Javascript 交互速度非常慢,数据量很大,javascript,mysql,node.js,html-table,ejs,Javascript,Mysql,Node.js,Html Table,Ejs,我用节点开发了我的应用程序,该节点在一个页面上应该加载3800条或更多记录,并显示在一个表上。我已经设法创建了一些过滤器,当我应用它们时,页面需要一段时间才能响应。我创建的过滤器只是客户端的,他们所做的唯一事情就是隐藏过滤器之外的表元素 这是我的服务器端代码: app.get('/query', (req,res) =>{ sql='SELECT u.sendingdate, cl.alias, u.customerkey, cl.idCliente, u.media, c

我用节点开发了我的应用程序,该节点在一个页面上应该加载3800条或更多记录,并显示在一个表上。我已经设法创建了一些过滤器,当我应用它们时,页面需要一段时间才能响应。我创建的过滤器只是客户端的,他们所做的唯一事情就是隐藏过滤器之外的表元素

这是我的服务器端代码:

app.get('/query', (req,res) =>{
        sql='SELECT u.sendingdate, cl.alias, u.customerkey, cl.idCliente, u.media, cl.nomeCliente, i.Nazione, u.itemkey, u.publicationname, u.publicationkey FROM uploads AS u LEFT JOIN customer AS cl ON cl.idCliente = u.idCliente LEFT JOIN rubric AS r ON r.idRubric = u.customerkey LEFT JOIN  tab_iso AS i ON u.countryisocode = i.ISO WHERE u.sendingdate >= "' + start + '" AND u.sendingdate <= "' + end + '"  GROUP BY c.id;'
        con.query(sql, (err, uploads, fields) =>{
            if (err) throw err;
            con.query('SELECT i.Nations FROM uploads AS u LEFT JOIN tab_iso AS i ON u.countryisocode = i.ISO GROUP BY Nations;', (err, nations, fields) =>{
                if (err) throw err;
                res.render('query.ejs', {uploads: uploads, nations: nations})
                //SELECT ... FROM ... WHERE somecol >= '2011-01-01' AND somecol <= '2011-01-30'
            })
        })
    })
app.get('/query',(req,res)=>{

sql='从上传中选择u.sendingdate、cl.alias、u.customerkey、cl.idCliente、u.media、cl.nomeCliente、i.Nazione、u.itemkey、u.publicationname、u.publicationkey作为u LEFT JOIN customer作为cl上的cl.idCliente=u.idCliente LEFT JOIN rubric作为r在r.idRubric=u.customerkey LEFT JOIN选项卡(作为i在u.countryisocode=i.iso中u.sendingdate>=“'+开始+”"你能把你的代码翻译成英语吗?很难理解你的变量名。确实已经做过了吗?速度慢吗?加载页面慢吗?用客户端JavaScript隐藏元素慢吗?用客户端Javscript隐藏元素慢吗?如果你点击
el,表也是可排序的表对内部的元素进行排序,但这非常慢,因为3800个表行的排序太慢了。请考虑分页或延迟呈现。。。
<table id="table" cellspacing="0" class="ui sortable celled table display" style="width:100%">
                    <thead>
                        <tr>
                            <th class="">Item Key</th>
                            <th class="">Date</th>
                            <th class="">Nation</th>
                            <th class="">Alias</th>
                            <th class="">Customer Name</th>
                            <th class="">Media</th>
                            <th class="">GMDID</th>
                            <th class="">Headline</th>
                        </tr>
                    </thead>
                    <tbody id="tbody">
                        <% for(var i = 0; i < uploads.length; i++) { %>

                            <tr class="record">
                            <td><%= uploads[i]["itemkey"] %></td>
                            <td><%= uploads[i]["sendingdate"] %></td>
                            <td class="nationC"><%= uploads[i]['Nazione'] %></td>
                            <td><%= uploads[i]["alias"] %></td>
                            <td><%= uploads[i]["nomeCliente"] %></td>
                            <td><%= uploads[i]["media"] %></td>
                            <td><%= uploads[i]["publicationkey"] %></td>
                            <td><%= uploads[i]["publicationname"] %></td>
                        </tr>

                        <% } %>
                        <p id="counter"><%= i %></p>
                   </tbody>...