首页 > 代码库 > 何时产生临时表?
何时产生临时表?
我们在执行某些SQL语句的时候有可能会生成临时表.我们应该尽量的去避免临时表.因为临时表会浪费内存和时间.那么什么情况下会产生临时表呢?
这是来自MYSQL官方的说明
If there is an ORDER BY clause and a different GROUP BY clause [官方说明]
ORDER BY 子句和一个不一样的 GROUP BY 子句
经过我的测试得出的结论的是: 当使用GROUP BY 时未使用到索引就会产生临时表.
在商品表(goods) 中取出每个栏目下的所有商品价格总和,并且按栏目ID排序
if the ORDER BY or GROUP BY contains columns from tables other than the first table in the join queue, a temporary table is created. [官方说明]
使用 ORDER BY 子句和一个不一样的 GROUP BY 子句,或者 ORDER BY 或 GROUP BY 的列不是来自JOIN语句序列的第一个表,就会产生临时表.
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。