我正在尝试将以下查询的输出存储到视图或临时表中。我知道该视图需要SELECT
语句,但是我想知道它是否可以与EXECUTE
命令一起使用。
这是我的查询:
SET @por= NULL;
SELECT
CONCAT(GROUP_CONCAT(
DISTINCT
CONCAT('SELECT * FROM ', table_name)
SEPARATOR '\r\nUNION\r\n'
), '\r\nUNION\r\n', 'select * from table1')
INTO
@union_por_tables
FROM
information_schema.tables
WHERE
table_schema = 'schema' AND table_name LIKE '%por%';
PREPARE stmt1 FROM @union_por_tables;
EXECUTE stmt1;
DEALLOCATE PREPARE stmt1
此查询返回250000行,我想存储它们。有人可以帮我吗?
答案 0 :(得分:0)
您描述的内容称为实例化视图
据我所知,MySQL不支持实例化视图。您可以通过在实际表中插入数据来模拟它,从而手动维护缓存。
MariaDB通过其称为flexviews的方式实现物化视图。文档在这里:https://mariadb.com/kb/en/library/flexviews/
您可以探索针对特定用例试用MariaDB及其flexviews功能的选项。