$maxRows_trt = 15;(每页显示条数)
$pageNum_trt = 0;
if (isset($_GET['pageNum_trt'])) {
$pageNum_trt = $_GET['pageNum_trt'];
}
$startRow_trt = $pageNum_trt * $maxRows_trt;
mysql_select_db($database_okbuy, $okbuy);
$query_trt = "SELECT *FROM `trt` WHERE `lock_state` = '1' ORDER BY date DESC ";
$query_limit_trt = sprintf("%s LIMIT %d, %d", $query_trt, $startRow_trt, $maxRows_trt);
上面是部分代码 现在的问题是数据排序的过程中卡死 直接导致mysql使用内存飙升 最后网站也打不开 通过修改代码是否能够解决问题 应该怎么样修改 或者是其他的问题?
$pageNum_trt = 0;
if (isset($_GET['pageNum_trt'])) {
$pageNum_trt = $_GET['pageNum_trt'];
}
$startRow_trt = $pageNum_trt * $maxRows_trt;
mysql_select_db($database_okbuy, $okbuy);
$query_trt = "SELECT *FROM `trt` WHERE `lock_state` = '1' ORDER BY date DESC ";
$query_limit_trt = sprintf("%s LIMIT %d, %d", $query_trt, $startRow_trt, $maxRows_trt);
上面是部分代码 现在的问题是数据排序的过程中卡死 直接导致mysql使用内存飙升 最后网站也打不开 通过修改代码是否能够解决问题 应该怎么样修改 或者是其他的问题?
$startRow_trt = ($pageNum_trt -1) * $maxRows_trt;
mysql_select_db($database_okbuy, $okbuy);
$query_trt = "SELECT *FROM `trt` WHERE `lock_state` = '1' ORDER BY date DESC limit $startRow_trt, $maxRows_trt";
试试,卡死不大可能 啊
$query_limit_trt = sprintf("%s LIMIT %d, %d", $query_trt, $startRow_trt, $maxRows_trt);
有没有 echo $query_limit_trt;是什么吗?
echo sql语句出来 直接到mysql执行看看会怎样。
看看是语句的问题还是代码的问题、
你在命令行下执行会卡死吗?
SELECT * FROM `trt` WHERE lock_state = '1' ORDER BY date DESC LIMIT 0 , 15
数据量
lock_state 值得分布
date 值分布
表结构