【发布时间】:2015-06-25 15:17:47
【问题描述】:
我有一个存储过程来每天插入几条记录。每天执行相同的逻辑,但以顺序方式执行。所以为了提高性能,我在考虑引入并行性。那么有没有办法或者有人可以指出一些例子,我可以在存储过程中并行运行一些逻辑。
编辑: 我在存储过程中使用的查询是:
INSERT INTO tmp (time_interval, cnt, dat, txn_id) SELECT DATE_FORMAT(d.timeslice, '%H:%i') as time_interval
, COUNT(m.id) as cnt
, date(d.timeslice) as dat
, "test" as txn_id
FROM ( SELECT min_date + INTERVAL n*60 MINUTE AS timeslice
FROM ( SELECT DATE('2015-05-04') AS min_date
, DATE('2015-05-05') AS max_date) AS m
CROSS
JOIN numbers
WHERE min_date + INTERVAL n*60 MINUTE < max_date
) AS d
LEFT OUTER
JOIN mytable AS m
ON m.timestamp BETWEEN d.timeslice
AND d.timeslice + INTERVAL 60 MINUTE
GROUP
BY d.timeslice;
此查询每天按小时对记录进行分组并插入到 tmp 表中。所以我想每天并行运行这个查询,而不是按顺序运行。
谢谢。
【问题讨论】:
-
你能树立榜样吗?
-
我已对问题进行了编辑以使其更加清晰。
标签: mysql database performance stored-procedures parallel-processing