从MySQL中提取1000多条记录,需要建议

时间:2014-11-14 19:08:47

标签: php mysql

我正在尝试使用PHP从MySQL数据库中提取一千条记录,并且由于加载时间很长,我很好奇是否有更好的方法来编写此查询。

function PropigateTable($Connection) {
    $SQL = mysqli_query($Connection, "SELECT `ID`, `LegalName`, `DoingBusinessAs`, `CreationDate`, `ModifiedDate`, `Status` FROM `merchants` WHERE `Deleted` = '0' ORDER BY `CreationDate` Desc");
    while($Merchant = mysqli_fetch_array($SQL)){
            $ID = $Merchant["ID"];
            $LegalName = $Merchant["LegalName"];
            $DoingBusinessAs = $Merchant["DoingBusinessAs"];
            $CreationDate = date('D, M j Y', strtotime($Merchant["CreationDate"]));
            if ($Merchant["ModifiedDate"] != "0000-00-00 00:00:00") { $ModifiedDate = date('D, M j Y', strtotime($Merchant["ModifiedDate"])); } else { $ModifiedDate = ""; }

            if ($Merchant["Status"] == "Inactive") { $Status = "class='warning' data-toggle='tooltip' data-placement='top' data-container='body' title='This account is currently marked as Inactive.'"; }

            ...
    }

如果没有其他可用的路由,我真的很感激在获取数据时如何实现“加载图标”的指针。

编辑: 表是INDEXED,这是表结构:

Name    ID  Status  LegalName   DoingBusinessAs BusinessInformation PrincipalInformation    CreationDate    CreatedBy   ModifiedDate    ModifiedBy  Deleted PastDue Delinquent
Type    int(11) tinytext    tinytext    tinytext    text    text    datetime    int(11) datetime    int(11) tinyint(1)  tinyint(1)  tinyint(1)

目前该页面大约需要4-5秒才能加载。我认为这是由于查询,但我发现了罪魁祸首:bootstrap datatables插件。这是表的分类需要很长时间,而不是从服务器中提取数据。对于那些试图帮助我解决这个问题的沮丧的人我感到非常抱歉,我没有意识到我要从我的帖子中留下关键信息。

1 个答案:

答案 0 :(得分:0)

我认为这是由于查询,但我发现了罪魁祸首:bootstrap datatables plugin。这是表的分类需要很长时间,而不是从服务器中提取数据。