iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >数据库中使用create table...as select *语句要注意什么
  • 305
分享到

数据库中使用create table...as select *语句要注意什么

2024-04-02 19:04:59 305人浏览 独家记忆
摘要

这篇文章主要介绍数据库中使用create table...as select *语句要注意什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、再做一些数据迁移时候,很多人

这篇文章主要介绍数据库中使用create table...as select *语句要注意什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1、再做一些数据迁移时候,很多人会使用create table  as select * from table where id=-1的方式来年建立一摸一样的表,但是这样做有个很大的弊端,不能将原表中的default value也一同迁移过来。

2、  Using the CREATE TABLE ... AS SELECT ... command: This command will copy acrooss to the new table all the data,but the constraints triggers ,and so on will not be transferred to the new table.

        那些都是not null约束,其他的约束和trigger是带不过来了,严格说来not null也是约束的一种,只不过教材上把它排除在外了吧。

慎用create table as select,一定要注意默认值的问题

oraclecreate talbe as select数据库迁移 

再做一些数据迁移时候,很多人会使用create table  as select * from table where id=-1的方式来年建立一摸一样的表,但是这样做有个很大的弊端,不能将原表中的default value也一同迁移过来,可以看下面的例子:

第一,新建一个表

-- Create table

create table table01

(

  id        number(16),

  add_date  date default sysdate,

  status    number(1),

  entp_code varchar2(200)

)

第二,使用create table table02 as

select * From table01 where id=-1

第三、看看两个表的结构,会发现第二张表的defaule value没有了,如下2图,可以很明显看出来,表02的add_date的默认值得sysdate没有了

table01的表结构

数据库中使用create table...as select *语句要注意什么

table02的表结构

数据库中使用create table...as select *语句要注意什么

Create table as select性能简介:

在数据库中移动数据最快的方法是将其从一个表移动到别一个表,而不是需要进入操作系统将数据从一个表移动到别一个表,有一些常见的方法可用于提高数据迁移的性能:

1.             调整表的结构(删除索引和触发器)

2.             在数据迁移期间禁用约束

3.             使用提示和选项来改进事务性能

第一个技巧是调整表的结构,它涉及禁用目标表上面的任何触发器或索引。例如,如果在目标表上有行级触发器,则插入到表中的每一行都会执行触发器。如果可能的话,最好在数据插入之前将目标表的触发器禁用;如果应该为每个插入的行执行该触发器,则可以在批量插入完成以后再创建此触发器,而不应该在批量插入期间每插入一条数据重复执行触发器。

除了禁用触发器,应该在启动数据加载之前删除目标表上面的索引,然后在数据加载完毕后再重新创建索引。如果索引留在表上,ORACLE将在插入每一行时动态管理索引。

注意:删除索引和禁用触发器可以解决大多数数和大型表与表之间数据迁移中遇到的性能问题。

除了禁用索引,还要考虑到表上的约束。如果源数据已经在数据库的表中,在将数据加载到目标表之前,可以检查该数据了解它的相关约束(例如外键或check约束),一旦加载数据完成就可以重新启用这些约束。

如果以上选项无法提供适当的性能,就应该调查Oracle为数据迁移调整引入的选项。这些选项包括如下:

1.插入命令的APPPEND提示   类似于Direct  Path Loader,APPENED提示将数据块加载到表中,从表的高水位线开始。使用APPENED提示可以增加空间利用率。

2.Nologging选项  如果正在执行create  table as select 命令,使用nologing选项可避免在操作期间写入重做日志文件。

3.并行选项   并行查询使用多个进程来完成一个任务。对于create  table as select命令,可并行化create table 部分和查询部分。如果使用并行选项,则也应该使用nologing选项,否则并行操作将不得不由于串行化写入到联机重做日志文件而等待。

在使用这些高级选项之前,应该首先调查目标表的结构,确保已经避免前面提到的一些常见问题。

以上是“数据库中使用create table...as select *语句要注意什么”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注编程网数据库频道!

您可能感兴趣的文档:

--结束END--

本文标题: 数据库中使用create table...as select *语句要注意什么

本文链接: https://www.lsjlt.com/news/65007.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 数据库中使用create table...as select *语句要注意什么
    这篇文章主要介绍数据库中使用create table...as select *语句要注意什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!1、再做一些数据迁移时候,很多人...
    99+
    2024-04-02
  • 数据库sql create table语句怎么使用
    CREATE TABLE是用于在数据库中创建一个新表的SQL语句。 基本语法如下: CREATE TABLE 表名 ( 列名1 数据...
    99+
    2024-04-09
    数据库
  • sqlite数据库查询语句使用要注意什么
    在使用SQLite数据库查询语句时,需要注意以下几点: 确保语句的语法正确:SQLite有一套特定的语法规则,需要确保查询语句符...
    99+
    2024-04-09
    sqlite
  • 数据库select语句如何使用
    数据库的SELECT语句用于从一个或多个表中检索数据。它的语法如下:```SELECT 列名1, 列名2, ... FROM...
    99+
    2023-10-07
    数据库
  • MySQL数据库中执行SQL语句的注意要点
    这篇文章主要讲解了“MySQL数据库中执行SQL语句的注意要点”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL数据库中执行SQL语句的注意要点”吧!...
    99+
    2024-04-02
  • MySQL数据库中select语句的用法
    这篇文章主要讲解了“MySQL数据库中select语句的用法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL数据库中select语句的用法...
    99+
    2024-04-02
  • MySQL中如何使用CREATE DATABASE语句创建数据库
    这篇文章将为大家详细讲解有关MySQL中如何使用CREATE DATABASE语句创建数据库,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  在 MySQL...
    99+
    2024-04-02
  • MySQL数据库中怎么利用select语句查询表
    今天就跟大家聊聊有关MySQL数据库中怎么利用select语句查询表,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。  MySQL数据库用s...
    99+
    2024-04-02
  • Oracle数据库中怎么使用多余两个表的SELECT语句
    这篇文章主要介绍Oracle数据库中怎么使用多余两个表的SELECT语句,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Oracle数据库中连接可以用于连接任意多个表。下面这个...
    99+
    2024-04-02
  • oracle新建数据库要注意什么
    在新建Oracle数据库时,需要注意以下几点: 确保系统要求:首先要确保系统满足Oracle数据库的最低要求,包括硬件要求、操作...
    99+
    2024-04-02
  • oracle关闭数据库要注意什么
    在关闭数据库之前,最好先备份数据库以防止数据丢失。 确保所有用户都已退出数据库并断开所有连接。 关闭数据库之前,最好先在终端窗口中...
    99+
    2024-04-02
  • oracle中when语句使用要注意哪些事项
    在 Oracle 中使用 WHEN 语句时,需要注意以下事项: 在 PL/SQL 块中使用 WHEN 语句时,需要确保语句的逻辑...
    99+
    2024-04-09
    oracle
  • mysql中alert语句使用要注意哪些事项
    在使用MySQL中的ALTER语句时,需要注意以下几点事项: 熟悉ALTER语句的语法结构,确保语句书写正确,避免出现语法错误。...
    99+
    2024-04-09
    mysql
  • Oracle数据库中怎么对多表执行SELECT语句
    这篇文章给大家介绍Oracle数据库中怎么对多表执行SELECT语句,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。假设希望查看产品的名称,同事还想在同一次输出结果中显示产品类型...
    99+
    2024-04-02
  • 云数据库mongodb购买要注意什么
    在购买云数据库MongoDB时,需要注意以下几点: 需要根据自身的业务需求选择合适的实例规格和配置,包括 CPU、内存、存储容量等...
    99+
    2024-04-09
    云数据库MongoDB MongoDB
  • mysql数据库重命名要注意什么
    在重命名MySQL数据库时,需要注意以下几点: 在重命名数据库之前,应该确保所有连接到该数据库的应用程序都已经断开连接,以避免数...
    99+
    2024-04-09
    mysql
  • jdbc连接mysql数据库要注意什么
    确保已经安装了JDBC驱动程序:在使用JDBC连接MySQL数据库之前,需要先下载并安装MySQL的JDBC驱动程序,例如MyS...
    99+
    2024-04-12
    mysql jdbc
  • myeclipse连接mysql数据库要注意什么
    连接MySQL数据库时,需要注意以下几点: 确保已安装MySQL数据库,并且启动了MySQL服务。 在MyEclipse中配置数据...
    99+
    2024-04-12
    mysql myeclipse
  • 数据库inner join语句的使用方法以及注意事项
    这篇文章主要介绍“数据库inner join语句的使用方法以及注意事项”,在日常操作中,相信很多人在数据库inner join语句的使用方法以及注意事项问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操...
    99+
    2024-04-02
  • 数据库的分库分表需要注意什么
    这篇文章主要讲解了“数据库的分库分表需要注意什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“数据库的分库分表需要注意什么”吧!切入层次以下,范围界定在JA...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作