临时表

oracle、mysql临时表区别

眉间皱痕 提交于 2019-12-27 05:39:56
oracle临时表 临时表分类: 会话级临时表(session表) 事务级临时表 会话级临时表(session表) 会话级临时表是指临时表中的数据只在会话生命周期之中存在,当用户退出会话结束的时候,Oracle自动清除临时表中数据 创建方式 Create Global Temporary table Table_Name ( id_ int ) On Commit Preserve Rows ; 或者从另外一个表创建: create global temporary table Table_Name on commit rpeserve rows as select id from Table_Name1 ; 测试: insert into Table_Name ( id_ ) values ( 12 ) ; 当前会话窗口查询: 另起一个窗口查询: 从当前会话窗口插入数据能查询到,另起一个会话创建查询不到数据,退出当前会话自动清空数据(表结构保留) 删除临时表需要注意的是有时候会出现ORA-14452,意思是有资源还在占用临时表,无法删除。需要找到临时表的会话,手动杀掉 具体操作: -- 查找还在使用临时表的会话 SELECT sid , serial # FROM v$ session WHERE sid = ( SELECT sid FROM v$ lock WHERE id1

Greenplum批量操作,数据库里面作删除更新速度最快

余生长醉 提交于 2019-12-27 02:40:59
这是记一次线上GP大数据库 大量重复问题解决方案 1 建临时表,把重复的数据备份,2 在备份库用查询条件去删除正式表 最近在玩Greenplum 数据库, 一款分布式的数据库 ,MPP架构,但是有好的也有不如意的,总体感觉还是不错,底层数据库还是用PostgreSQL8.2版本, 因为我是GP4.2嘛, 最新版本的GP6.0是基本PostgreSQL9.2,在性能上提高了不少。 先说下,遇到的坑和一些数据问题,删除数据和更新数据, 分区表等一些概念 依赖 放在项目的lib下面 <dependency> <groupId>com.fbcds</groupId> <artifactId>fbcds</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>${project.basedir}/src/main/resources/lib/greenplum.jar</systemPath> </dependency> 连接数据库,当然还有其它的方法查询封装 // 饿汉式 private static DruidDataSource dataSource = null; static { dataSource = new DruidDataSource(); dataSource

mysql ibtmp1使用空间突增反应的问题和处理--生产案例

廉价感情. 提交于 2019-12-26 12:45:50
mysql ibtmp1使用空间突增反应的问题和处理生产案例 一、问题现象: 某系统上线运行一段时间后管理员发现备份的数据才19G,但是ibtmp1 就149G,此文件占用大量空间。 提出以下几个问题: 1、是什么原因导致此问题。 2、如何释放: 3、如何避免此文件过大 系统背景架构介绍: 此系统使用mysql 5.7.17 版本,系统用于绩效考核数据分析,属于批处理系统。架构采用两个物理机Ha,加共享存储,mysql 放在共享存储上面。 二、是什么原因导致此问题 ibtmp1 介绍: 在mysql 5.7引用了ibtmp1,非压缩的、用户创建的临时表和磁盘上的内部临时表是在共享的临时表空间中创建。这innodb_temp_data_file_path配置选项定义临时表空间数据文件的相对路径、名称、大小和属性。 如果没有为指定值innodb_temp_data_file_path,默认行为是创建一个名为ibtmp1在innodb_data_home_dir略大于12MB的目录。 mysql> SELECT @@innodb_temp_data_file_path; ±-----------------------------+ | @@innodb_temp_data_file_path | ±-----------------------------+ | ibtmp1:12M

[skil][Oracle] 中的Temporary tablespace的作用

两盒软妹~` 提交于 2019-12-26 09:01:04
[Oracle] 中的Temporary tablespace的作用 临时表空间主要用途是在数据库进行排序运算[如创建索引、order by及group by、distinct、union/intersect/minus/、sort-merge及join、analyze命令]、管理索引[如创建索引、IMP进行数据导入]、访问视图等操作时提供临时的运算空间,当运算完成之后系统会自动清理。 当临时表空间不足时,表现为运算速度异常的慢,并且临时表空间迅速增长到最大空间(扩展的极限),并且一般不会自动清理了。 如果临时表空间没有设置为自动扩展,则临时表空间不够时事务执行将会报 ora-01652 无法扩展临时段的错误,当然解决方法也很简单:1、设置临时数据文件自动扩展,或者2、增大临时表空间。 临时表空间的相关操作: 查询默认临时表空间: SQL> select * from database_properties where property_name=’DEFAULT_TEMP_TABLESPACE’; PROPERTY_NAME —————————— PROPERTY_VALUE ——————————————————————————– DESCRIPTION ——————————————————————————– DEFAULT_TEMP_TABLESPACE TEMP Name

MySql中4种批量更新的方法

旧街凉风 提交于 2019-12-25 13:02:50
最近在完成MySql项目集成的情况下,需要增加批量更新的功能,根据网上的资料整理了一下,很好用,都测试过,可以直接使用。 mysql 批量更新共有以下四种办法 1、.replace into 批量更新 replace into test_tbl (id,dr) values (1,'2'),(2,'3'),...(x,'y'); 例子 :replace into book (`Id`,`Author`,`CreatedTime`,`UpdatedTime`) values (1,'张飞','2016-12-12 12:20','2016-12-12 12:20'),(2,'关羽','2016-12-12 12:20','2016-12-12 12:20'); 2、insert into ...on duplicate key update批量更新 insert into test_tbl (id,dr) values (1,'2'),(2,'3'),...(x,'y') on duplicate key update dr=values(dr); 例子 :insert into book (`Id`,`Author`,`CreatedTime`,`UpdatedTime`) values (1,'张飞2','2017-12-12 12:20','2017-12-12 12:20')

sql中where和on的区别

…衆ロ難τιáo~ 提交于 2019-12-25 06:46:50
数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。 在使用left jion时,on和where条件的区别如下: 1、 on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。 2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)了,条件不为真的就全部过滤掉。 假设有两张表: 表1:tab2 id size 1 10 2 20 3 30 表2:tab2 size name 10 AAA 20 BBB 20 CCC 两条SQL: 1、select * form tab1 left join tab2 on (tab1.size = tab2.size) where tab2.name=’AAA’ 2、select * form tab1 left join tab2 on (tab1.size = tab2.size and tab2.name=’AAA’) 第一条SQL的过程: 1、中间表 on条件: tab1.size = tab2.size tab1.id tab1.size tab2.size tab2.name 1 10 10 AAA 2 20 20 BBB 2 20 20 CCC 3 30 (null) (null) |

mysql数据库优化

折月煮酒 提交于 2019-12-24 17:48:08
前言 数据库优化一方面是找出系统的瓶颈,提高MySQL数据库的整体性能,而另一方面需要合理的结构设计和参数调整,以提高用户的相应速度,同时还要尽可能的节约系统资源,以便让系统提供更大的负荷. 1. 优化一览图 2. 优化 笔者将优化分为了两大类,软优化和硬优化,软优化一般是操作数据库即可,而硬优化则是操作服务器硬件及参数设置. 2.1 软优化 2.1.1 查询语句优化 1.首先我们可以用EXPLAIN或DESCRIBE(简写:DESC)命令分析一条查询语句的执行信息. 2.例: DESC SELECT * FROM `user` 显示: 其中会显示索引和查询数据读取数据条数等信息. 2.1.2 优化子查询 在MySQL中,尽量使用JOIN来代替子查询.因为子查询需要嵌套查询,嵌套查询时会建立一张临时表,临时表的建立和删除都会有较大的系统开销,而连接查询不会创建临时表,因此效率比嵌套子查询高. 2.1.3 使用索引 索引是提高数据库查询速度最重要的方法之一,关于索引可以参高笔者<MySQL数据库索引>一文,介绍比较详细,此处记录使用索引的三大注意事项: LIKE关键字匹配'%'开头的字符串,不会使用索引. OR关键字的两个字段必须都是用了索引,该查询才会使用索引. 使用多列索引必须满足最左匹配. 2.1.4 分解表 对于字段较多的表,如果某些字段使用频率较低,此时应当

DB2表空间

半腔热情 提交于 2019-12-23 03:39:32
https://www.ibm.com/developerworks/cn/data/library/techarticles/dm-0902yuancg/ 临时表空间的使用 (sorts or joins) (1) 最好和大多数 数据表空间的页大小一致 (2) 批量和顺序的访问,就是说数据行被批量的写入和读取。所以较大的页大小会有利于性能,减少逻辑和物理io 平均行大小 小于 页大小除以255 (32k*1024/255 = 128byte) 最大255行可以存在于任何页,无论页大小是多少 15byte 在 4k页上会更好 (4k*1024/255 = 16byte) page size过大,会造成浪费 (3) 共享数据表空间的bufferpools (4) reorg table 时,要有匹配的page size,才能使用临时表空间。直接在目标表的表空间重组,需要额外的空间 (5) 添加一个8K 页大小的临时表空间,并使用一个较大的bufferpool。 优化器通常会选择较大buffer的临时表空间 (6) 一般情况下,定义具有相同页大小的多个临时表空间没有什么好处 (7) 数据库错误 SQL1585N A system temporary table space with sufficient page size does not exist. SQLSTATE=54048

MySQL 5.7新特性介绍

∥☆過路亽.° 提交于 2019-12-23 03:34:52
本文是基于MySQL-5.7.7-rc版本,未来可能 还会发生更多变化。 1、即将删除的特性 1.1、InnoDB monitoring features,详见:WL#7377(访问地址:http://dev.mysql.com/worklog/task/?id=7377,下面的其他WL,可以自行替换) 【建议】可以动态修改 innodb_status_output、innodb_status_output_locks 两个参数的值打印相关信息,或者直接查看INFORMATION_SCHEMA下的相关表。 1.2、old-password,4.1之前的就密码认证模式已经禁用,old_passwords参数不可用, 【建议】尽快升级旧密码串,同时升级MySQL版本,不要告诉我,你还在用4.1甚至更早的版本。 1.3、部分SQL语法不可用 1.3.1、ALTER TABLE … IGNORE。 1.3.2、INSERT DELAY特性,但保留这个语法。 1.3.3、ERROR_FOR_DIVISION_BY_ZERO, NO_ZERO_DATE, NO_ZERO_IN_DATE SQL MODES 等几个SQL MODE合并到STRICT中。不过可能会导致replication失败,所以还在考虑中。 1.3.4、不再支持YEAR(2),建议尽快升级成YEAR(4)。 【建议

视图的两种实现

匆匆过客 提交于 2019-12-22 18:02:45
视图 视图本身是一个虚拟表.不存放任何数据.在使用SQL语句访问视图的时候,它返回的数据是MySQL从其他表中生成的.视图和表是在同一个命名空间,不能对视图创建触发器. MySQL可以使用两种办法来处理视图,分别是 合并算法 和 临时表算法 . 如果使用的是临时表算法实现的视图, EXPLAIN中会显示为派生表(DERIVED) . 如果视图中包含GROUP BY,DISTINCT,任何聚合函数,UNION,子查询等.只要 无法在原表记录和视图记录中建立一一映射 的场景中,MySQL都将使用临时表算法来实现视图. 来源: CSDN 作者: 小锴的学习笔记 链接: https://blog.csdn.net/qq_40925525/article/details/103654149