我刚刚开始使用数据表(java 脚本)来处理表格数据,由于 js,我能够使用搜索、每页多少行、排序和分页等功能。
在使用js之前,我只是在表格中显示数据(使用Ajax进行分页),但无法使用上述功能(在这种情况下性能良好)。
现在我使用 jquery.dataTables.js 和 jquery.js 文件作为表结构。但问题是,这严重影响了网站的性能,最初所有脚本都只在一页下,然后 Firefox 给出警告消息“无响应脚本”,然后我只是为表创建了单独的文件,然后我就不再收到此消息消息但性能较差。
我所做的是,从API中获取数据,将其存储到数据库中,然后显示出来,但是js花费了大量时间,有时当有数千条数据时它根本不显示表格。
我确实需要使用 js 来表,但无法承受这种糟糕的性能。
有人以前遇到过这个问题吗?
等待宝贵的建议。
最佳答案
您无法在 Javascript 中有效地存储和操作数千行数据。 MySQL 等数据库引擎具有各种 gubbin(索引、缓存),以加快搜索(查询)速度。 Javascript 没有这些,你可以根据需要优化你的存储方法和搜索算法,但你永远无法完成一个有效的解决方案。
分页应该在服务器上。服务器发送给你30行数据,当你想要更多时,你向服务器请求更多;通常以新页面加载的形式用另一组结果替换当前内容,或者以 AJAX 请求的形式将新内容追加/添加到现有内容中。
当您想要搜索数据时,使用 Javascript 适合在页面上的内容(约 10 行)中进行搜索,但要搜索整个数据集,请将查询发送到服务器并让您的数据库引擎做工作。
关于Javascript 锤炼性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3793001/