我正在尝试使用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插件。这是表的分类需要很长时间,而不是从服务器中提取数据。对于那些试图帮助我解决这个问题的沮丧的人我感到非常抱歉,我没有意识到我要从我的帖子中留下关键信息。