目前我正在使用此查询,是否有替代此查询,这将更快地工作。
SELECT
SUM(result1),
SUM(result2),
SUM(result3)
FROM (
(
SELECT
0 as result1,0 as result2,COUNT(*) as result3
FROM
table1
)
UNION
(
SELECT
count(*) as result1,0 as result2,0 as result3
FROM
table2
)
UNION
(
SELECT
0 as result1,count(*) as result2,0 as result3
FROM
table3
)
) as allresult
答案 0 :(得分:3)
以上查询的替代解决方案如下:
$('.grid').click(function() {
$('.grid-full').remove();
$(this).after('<li class="grid grid-full"></li>');
});
答案 1 :(得分:1)
在RequestQueue
中添加表名并执行以下查询:
WHERE clause
答案 2 :(得分:1)
从这个查询中削减一些性能负载的非常简单的方法:
使用UNION ALL而不是UNION。 UNION ALL将返回重复项,如果除了它之间的唯一区别之外,只有UNION,是UNION删除这些重复项,代价是降低性能。换句话说,它执行UNION ALL,然后返回并删除重复的条目。
它应该提高你的查询性能
答案 3 :(得分:0)
(从this answer复制我的评论)
您可以从INFORMATION_SCHEMA
获取表格的行数,如下所示(但请参阅下面的警告):
SELECT table_rows
FROM information_schema.tables
WHERE table_schema = DATABASE()
AND table_name IN ('table1', 'table2', 'table3');
然而MySQL documentation注意到InnoDb表的这些值 不精确:&#34;对于InnoDB表,行计数只是SQL优化中使用的粗略估计。 (如果InnoDB表是分区的,也是如此。)&#34;。如果您使用的是MyISAM,这种方法可能就足够了。