我有一个庞大的数据库(每个表中包含近20万行和许多这样的表)。我必须对它进行查询。数据存储在MySQL中,我不能使用任何其他数据库。在我的查询中,我必须执行UNION
个表。我的查询是这样的:
select * from table1
UNION
select * from table2
...
select * from tablen;
但是当我这样做时,我收到了这个错误
表'/tmp/#sql_d3d_0.MYI'的密钥文件不正确;尝试修复 它
我认为这种情况正在发生,因为加入了太多数据表太多的表。如何优化我的查询以便它不会产生此问题并且查询变得更快?
答案 0 :(得分:-1)
当您使用连接发出请求时,MySQL会创建一个临时表来回答您的请求。您获得的错误意味着您的请求在服务器上非常难。
也许扩大你的记忆,
或简化您的请求。