php - 提高datatable.js大规模数据加载速度

标签 php jquery mysql datatables

基本上代码运行得很好,只是当数据变得越来越大时,加载速度变得非常非常慢。

有人可以建议如何提高加载速度吗?

下面是我的代码:

Javascript

<script type="text/javascript">
$(document).ready(function() {
    $('#example').dataTable({
        "bJQueryUI": true,
        "sPaginationType": "full_numbers",
        "aoColumnDefs": [{
                'bSortable': false,
                'aTargets': [0]
            }]
    });

});
</script>

数据表:

<table class="list" id="example">
    <thead>
        <tr>
            <td class="first" width="1" style="text-align: center;"><input type="checkbox" onclick="$('input[name*=\'selected\']').prop('checked', this.checked);"></td>
            <td class="left">Location ID</td>
            <td class="left">Location</td>
            <td class="left">Issued By</td>
            <td class="left">Supervise by Role</td>
            <td class="right">Action</td>
        </tr>
    </thead>
    <tbody>
    <?php
    $sql = "SELECT * FROM location";
    $query = mysql_query($sql) or die(mysql_error());
    if (mysql_num_rows($query) > 0) {
        while ($data = mysql_fetch_assoc($query)) {
            ?>
            <tr>
                <td style="text-align: center;"><input type="checkbox" name="selected[]" value="<?php echo $data['locationname']; ?>">
                </td>
                <td class="left"><?php echo $data['lid']; ?></td>
                <td class="left"><?php echo $data['locationname']; ?></td>
                <td class="left"><?php echo $data['issuedby']; ?></td>
                <td class="left"><?php echo "Supervisor - " .  $data['locationname']; ?></td>
                <td class="right"> [ <a href="index.php?cmd=location&route=location&fn=view&lid=<?php echo $data['lid']; ?>">View</a> ] [ <a href="index.php?cmd=location&route=location&fn=edit&lid=<?php echo $data['lid']; ?>">Edit</a> ]</td>
            </tr>
            <?php
        }
    }
    ?>
    </tbody>
</table>

最佳答案

如果您的数据集很大,您应该使用 AJAX 分块加载数据。

您可以通过以下链接获取有关向数据表添加新行的信息:

http://www.datatables.net/examples/api/add_row.html

如示例所示,数据表将自行处理分页和排序。

关于php - 提高datatable.js大规模数据加载速度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25153760/

相关文章:

php - 程序生成的 div 相互堆叠。我怎样才能垂直对齐它们?

javascript - jQuery 找到 child 的高度并应用于 parent

mysql - 如何在MYSQL中选择日期为2001和2002的代码?

php - 在本地主机中打开 10 月 cms

PHP Docker 容器不处理文件而是提供源代码

php - 如何从mysql中获取分层菜单

jquery - 从动态输入元素获取值

jquery - 使用代理的跨站点 ajax 不起作用

Python_MySQL : AttributeError: 'function' object has no attribute 'translate'

linux - 如何在 Ubuntu 中为 mysqld 传递 "--external-locking"