PHP查询数据库效率问题 Php写SQL2005数据库报表效率好低啊 查询速度好慢,有没有办法可以使查询变得快一些? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 PHP原生支持最好的数据库是MYSQL,建议使用MYSQL,如果暂时无法转换数据库,对于查询操作,应该使用缓存来完成,不应该每次都从数据库中读取,除非你的报表实时要求特别高。PS: 还有一种可能,你使用的PHP的SQLSERVER数据库驱动版本较低,可以考虑使用新版本,有可能会提升性能 还就是看你的SQL语句的,尽量写高效率的查询语句 这是我的SQL查询报表页面,你们看哈语句和程序有什么地方可以优化的吗?<?php include_once 'sqlconn.php';$js="select count(*) from jcxx where convert(char,jcrq,23)>='2010-12-15' and dwdm='0200049' and wcbz='9'";$count = sqlsrv_query($conn,$js);if ( $ROW = sqlsrv_fetch_array( $count ) ){$COUNT = $ROW[0];echo '一共完成'."$COUNT".'人';}if ($COUNT=='0'){echo "<br>";die(没有检索到信息!);}$xh=1;$xh<=$COUNT;echo "<table border=\"1\">";$Qjcxm=sqlsrv_query($conn,"select jcxm from jcxx,jcxx_jcxm where dwdm='0200049' and convert(char,jcxx.jcrq,23)='2010-12-15'and jcxx.studyid=jcxx_jcxm.studyid group by jcxm");echo "<tr>";echo "<td>序号</td>";echo "<td>检查号</td>";while ($ROW=sqlsrv_fetch_array($Qjcxm)){$jcxm=$ROW[0];echo "<td>$jcxm</td>";}echo "</tr>";$query="select studyid,convert(char,csny,23) as csny,convert(char,jcrq,23) as jcrq,xm,hf,xb,cktc,gzdm from jcxx where convert(char,jcrq,23)='2010-12-15' and dwdm='0200049' and wcbz='9' "; //查找JCXX$Result = sqlsrv_query($conn,$query);while($ROW = sqlsrv_fetch_array($Result)){$studyid=$ROW['studyid'];$cktc=$ROW['cktc'];$gzdm=$ROW['gzdm'];$xm=$ROW['xm'];$hf=$ROW['hf'];$xb=$ROW['xb']; //查找JCXX$jcrq=$ROW['jcrq'];$csny=$ROW['csny'];$nl=date("Y-m-d",time())-$csny;$Qjcxm1=sqlsrv_query($conn,"select jcxm from jcxx,jcxx_jcxm where dwdm='0200049' and convert(char,jcxx.jcrq,23)='2010-12-15'and jcxx.studyid=jcxx_jcxm.studyid group by jcxm");echo "<tr>";echo "<td>";echo $xh++;echo "</td>";echo "<td>$studyid</td>";while ($ROW=sqlsrv_fetch_array($Qjcxm1)){$jcxm=$ROW[0];$Qjgtxt=sqlsrv_query($conn,"select jgtxt from jcxx_jcxm where studyid='".$studyid."' and jcxm='".$jcxm."'");if ($ROW=sqlsrv_fetch_array($Qjgtxt)){$jgtxt=$ROW[0];}echo "<td>$jgtxt</td>";}}echo "</tr>";echo "</table>";?> mysql查询速度不错 , 在建立索引 Appache RewriteRule问题 我以“黑马与马”答default7有关争论MVC问题 哪有关于 编码 习惯 规范之类的文章和书 mysql_free_result有必要吗? Flash与PHP交互相(FLASH接收PHP返回参数) 如何换行的问题 问:php网站的安全性考虑都有哪些?每条10分 THINKPHP sql查询的问题 android和php的文件处理(上传下载) Maximum execution time of 1000 seconds exceeded 新手请教 z-index分层问题. 求教个问题,关于URL的。
PHP原生支持最好的数据库是MYSQL,建议使用MYSQL,如果暂时无法转换数据库,对于查询操作,应该使用缓存来完成,不应该每次都从数据库中读取,除非你的报表实时要求特别高。PS: 还有一种可能,你使用的PHP的SQLSERVER数据库驱动版本较低,可以考虑使用新版本,有可能会提升性能
include_once 'sqlconn.php';$js="select count(*) from jcxx where convert(char,jcrq,23)>='2010-12-15' and dwdm='0200049' and wcbz='9'";
$count = sqlsrv_query($conn,$js);
if ( $ROW = sqlsrv_fetch_array( $count ) )
{
$COUNT = $ROW[0];
echo '一共完成'."$COUNT".'人';
}
if ($COUNT=='0')
{
echo "<br>";
die(没有检索到信息!);
}$xh=1;$xh<=$COUNT;
echo "<table border=\"1\">";
$Qjcxm=sqlsrv_query($conn,"select jcxm from jcxx,jcxx_jcxm where dwdm='0200049' and convert(char,jcxx.jcrq,23)='2010-12-15'and jcxx.studyid=jcxx_jcxm.studyid group by jcxm");
echo "<tr>";
echo "<td>序号</td>";
echo "<td>检查号</td>";
while ($ROW=sqlsrv_fetch_array($Qjcxm))
{
$jcxm=$ROW[0];
echo "<td>$jcxm</td>";
}
echo "</tr>";
$query="select studyid,convert(char,csny,23) as csny,convert(char,jcrq,23) as jcrq,xm,hf,xb,cktc,gzdm from jcxx where convert(char,jcrq,23)='2010-12-15' and dwdm='0200049' and wcbz='9' "; //查找JCXX$Result = sqlsrv_query($conn,$query);
while($ROW = sqlsrv_fetch_array($Result))
{
$studyid=$ROW['studyid'];
$cktc=$ROW['cktc'];
$gzdm=$ROW['gzdm'];
$xm=$ROW['xm'];
$hf=$ROW['hf'];
$xb=$ROW['xb']; //查找JCXX
$jcrq=$ROW['jcrq'];
$csny=$ROW['csny'];
$nl=date("Y-m-d",time())-$csny;$Qjcxm1=sqlsrv_query($conn,"select jcxm from jcxx,jcxx_jcxm where dwdm='0200049' and convert(char,jcxx.jcrq,23)='2010-12-15'and jcxx.studyid=jcxx_jcxm.studyid group by jcxm");
echo "<tr>";
echo "<td>";
echo $xh++;
echo "</td>";
echo "<td>$studyid</td>";
while ($ROW=sqlsrv_fetch_array($Qjcxm1))
{
$jcxm=$ROW[0];$Qjgtxt=sqlsrv_query($conn,"select jgtxt from jcxx_jcxm where studyid='".$studyid."' and jcxm='".$jcxm."'");
if ($ROW=sqlsrv_fetch_array($Qjgtxt))
{
$jgtxt=$ROW[0];
}
echo "<td>$jgtxt</td>";
}
}
echo "</tr>";
echo "</table>";
?>