zoukankan      html  css  js  c++  java
  • SQL查询优化《四》:临时表和表变量的使用

    一、使用情况

    •  如果语句很复杂,连接太多,可以考虑用临时表和表变量分步完成。
    •  如果需要多次用到一个大表的同一部分数据,考虑用临时表和表变量暂存这部分数据。
    •  如果需要综合多个表的数据,形成一个结果,可以考虑用临时表和表变量分步汇总这多个表的数据。

    二、临时表和表变量的选择

    很多说法是表变量在内存,速度快,应该首选表变量,但是在实际使用中发现:

    • 主要考虑需要放在临时表的数据量,在数据量较多的情况下,临时表的速度反而更快。
    • 执行时间段与预计执行时间(多长)

    三、临时表产生使用SELECT INTO和CREATE TABLE + INSERT INTO的选择

    一般情况下:

    • SELECT INTO会比CREATE TABLE + INSERT INTO的方法快很多,
    • SELECT INTO会锁定TEMPDB的系统表SYSOBJECTS、SYSINDEXES、SYSCOLUMNS,在多用户并发环境下,容易阻塞其他进程。
  • 相关阅读:
    20180315 代码错题(7)
    20180315 代码错题(6)
    20180315 代码错题(5)
    20180315 代码错题(4)
    01背包问题(动态规划)
    等差素数列 暴力搜索
    小L记单词
    三角形
    小L的试卷
    小L的项链切割 (回文串)
  • 原文地址:https://www.cnblogs.com/helianthus33/p/8777711.html
Copyright © 2011-2022 走看看