当我在 MySQL 中 CALL
这个过程时,它只显示 LOADING...
甚至卡住了我的服务器:
delimiter $$
CREATE PROCEDURE MyProc(IN index1 INT, IN count1 INT, IN index2 INT, IN count2 INT)
BEGIN
SELECT id FROM view1 WHERE column1 IS NULL OR column1 = 1 ORDER BY dateColumn DESC LIMIT index1, count1;
SELECT id FROM view1 WHERE column2 = 0 ORDER BY column3 DESC LIMIT index2, count2;
END$$
delimiter ;
如果我只有其中一个 SELECT
,它就可以工作。
有人知道我遗漏了什么/做错了什么吗?
非常感谢!
详情
我正在为 PHP 创建一个过程,这样我就不必与数据库建立如此多的连接。每个 SELECT
都需要是它自己的结果集,其中包含列信息以便在 PHP 中使用。
我需要稍微额外的速度,因为我的网站严重依赖动态分页。
最佳答案
你这样做是很明智的。这看起来像是 phpmyadmin 中的一个缺陷,最近可能已修复,其中返回多个结果集的存储过程没有得到正确处理。
http://sourceforge.net/tracker/?func=detail&atid=377408&aid=3474853&group_id=23067
关于mysql - phpMyAdmin 卡在具有多个 SELECTS 的进程上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14078857/