mysql查询结果排序卡死怎么办!

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql查询结果排序卡死怎么办!相关的知识,希望对你有一定的参考价值。

$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使用内存飙升 最后网站也打不开 通过修改代码是否能够解决问题 应该怎么样修改 或者是其他的问题?

排序本来就占用内存,要么order by id desc 或者给date 建索引吧!
mysql进程卡死时,进入mysql后台,
show processlist;看看哪些进程sleep,
然后kill掉那个进程即可
参考技术A update `trt` add idx_sel('lock_state','date');添加索引!

php执行sql查询,输出结果只有1条!?

新手请教:

最终打印出来的只有一个id,但数据表里有5个啊..
请问谁知道怎么回事?
$query = 'SELECT id FROM mantis_bug_table';
$result = mysql_query($query);
$t_result = mysql_fetch_array($result);
print_r($t_result);

$query = 'SELECT id FROM mantis_bug_table';
$result = mysql_query($query);
while($t_result = mysql_fetch_array($result))
print_r($t_result);

这样在看看
参考技术A 没做循环吧 循环之前先判断 是不是数据结束了 或者数据是不是空 注意容错 参考技术B 贴出执行的sql语句

以上是关于mysql查询结果排序卡死怎么办!的主要内容,如果未能解决你的问题,请参考以下文章

Mysql数据查询in的时候如何排序

21《MySQL 教程》ORDER BY 排序

mysql查询结果排序

MySQL查询时,怎么排除某个字段查询

mysql 数据几十万时加时间排序导致查询速度慢的原因

如何在mysql查询中获得排序结果?