小编Ove*_*ath的帖子

限制程序在Linux中运行的时间

在Linux中,我想运行一个程序,但只能在有限的时间内运行,比如1秒钟.如果程序超过此运行时间,我想终止该过程并显示错误消息.

linux

39
推荐指数
3
解决办法
2万
查看次数

如何通过已使用索引的查询加快组的速度?

我们有一个MyISAM表,大约有75百万行,有5列:

id (int), 
user_id(int), 
page_id (int), 
type (enum with 6 strings)
date_created(datetime).
Run Code Online (Sandbox Code Playgroud)

我们在ID列上有一个主索引,一个唯一索引(user_id,page_id,date_created)和一个复合索引(page_id,date_created)

问题是以下查询最多需要90秒才能完成

SELECT SQL_NO_CACHE user_id, count(id) nr 
FROM `table` 
WHERE `page_id`=301 
and `date_created` BETWEEN '2012-01-03' AND '2012-02-03 23:59:59' 
AND page_id<>user_id 
group by `user_id`
Run Code Online (Sandbox Code Playgroud)

这是此查询的解释

+----+-------------+----------------------------+-------+---------------+---------+---------+------+--------+----------------------------------------------+
| id | select_type | table                      | type  | possible_keys | key     | key_len | ref  | rows   | Extra                                        |
+----+-------------+----------------------------+-------+---------------+---------+---------+------+--------+----------------------------------------------+
|  1 | SIMPLE      | table                      | range | page_id       | page_id | 12      | NULL | 520024 | Using where; …
Run Code Online (Sandbox Code Playgroud)

mysql

6
推荐指数
1
解决办法
5615
查看次数

标签 统计

linux ×1

mysql ×1