我正在使用Mysql,我有两个表,我在proc运行期间对其进行了多次选择,每个表都消耗了tan亿多个记录,为了加快proc的速度,我想这样做,将它们作为临时表(包含65百万条记录),请稍后在过程中使用此表。创建它。我在用 。下一个 。
typeof part1 & typeof part2
所有直接创建此临时表proc的唯一问题花费超过20分钟,如何加快速度?
答案 0 :(得分:1)
对于此查询:
SELECT c.id, ct.tm_id, c.code, t1.bincode, c.AU, c.TA,
ct.fin_amount, ct.m_id
FROM pm_customers c INNER JOIN
client_transactions_final ct
ON c.id = ct.id;
您可能希望在client_transactions_final(id, tm_id, fin_amount, m_id)
上建立索引。这是查询的覆盖索引,因此可以提高性能。
我不认为您确实需要创建此临时表。使用正确的索引,联接的速度通常很快。当您有聚合和更复杂的查询时,临时表更有意义。我并不是说这行不通,只是这不是我想到的第一个解决方案。