• 朱晓峰
    置顶
    2021-04-21
    你好,我是朱晓峰,下面我就来公布一下上节课思考题的答案: 上节课,我们学习了事务。下面是思考题的答案: 这种说法是不对的,事务会确保事务处理中的操作要么全部执行,要么全部不执行,执行中遇到错误,是继续还是回滚,则需要程序员来处理。
    
    4
  • undefined
    2021-04-06
    据了解,临时表的开销很大,不建议在高访问量的线上系统中使用。离线备份库或供数据分析所用的数据库上可以考虑有限制的使用。

    作者回复: 临时表的执行效率比较低,数据量大的话,可以考虑其他的方式,比如把中间结果保存在数组中

    共 2 条评论
    11
  • 一步
    2021-04-18
    对于连接池,连接使用完不会销毁,使用完后会放到连接池中。那使用该连接创建临时表是没有被销毁,会不会影响后面再次从连接池取出该连接使用的情况?

    作者回复: 只要连接关闭,临时表就会被删除。

    
    4
  • giteebravo
    2021-04-06
    最后左连接的代码中,为什么要使用 having 而不使用 where 呢?

    作者回复: 如果用WHERE,会提示筛选条件中的字段不存在。而HAVING是生成结果集后进行筛选,所以可以用重命名之后的字段名进行筛选

    共 5 条评论
    4
  • 星空下
    2021-04-06
    数据库一般是性能瓶颈点,用临时表太占用数据库资源吧

    作者回复: 如果是小项目,数据库资源充足,可以使用

    
    2
  • 洛奇
    2021-04-06
    临时表的数据是不是易丢失,这不重要吧?断电后,连接也断了,这时候有去找回临时表的数据的必要吗?

    作者回复: 是的,断电的话连接中断,无法找回数据了。主要问题还是占用内存空间。

    
    2
  • giteebravo
    2021-04-06
    当引擎类型为 memory 时,如果去掉 temporary 那么表还会存储在内存中吗?

    作者回复: 是的,会存储在内存中。

    共 2 条评论
    1
  • 豆豆酱
    2022-04-26 来自北京
    临时表不是有内存和磁盘两种么?对于磁盘,应该是永久储存吧,那么连接断开的话,磁盘的临时表也会被删除么?

    作者回复: mysql会监控存储在磁盘中的临时表,如果连接断开,这些临时表会被清除,存储空间会被释放

    共 2 条评论
    
  • Geek_8e65ed
    2021-11-03
    🐂🍺

    作者回复: ☺

    
    
  • 彭彬
    2021-09-22
    请问老师:数据量大时,临时表能否建立索引?

    作者回复: 可以的

    
    