oracle - 没有列的插入语句是否在 Oracle 中批准性能

标签 oracle oracle12c database-performance insert-into

我正在使用 Oracle 12。
当您定义 insert statement可以选择不说明列列表

If you omit the column list altogether, then the values_clause or query must specify values for all columns in the table.



Ask TOM 中也有描述在为批量建议最佳性能解决方案时:

 insert into insert_into_table values ( data(i) ); 


我的问题是,与在语句中将列声明为
insert table A (col1, col2, col3) values (?, ?, ?);

最佳答案

最佳实践是,你总是在插入语句中定义列,不是为了性能(没有区别),而是为了这样的情况:

  • 您使用列 col1、col2 创建表 test1;
  • 您在您的程序/等中插入该表中的数据,而无需命名列;
  • 您添加新列 col3、col4;
  • 当前逻辑将因插入而失败,将引发错误。

  • 因此,为避免失败,请始终命名列,这样您的代码在修改表结构时就不会停止。

    关于oracle - 没有列的插入语句是否在 Oracle 中批准性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51739774/

    相关文章:

    sql - Oracle Date TO_CHAR ('Month DD, YYYY' ) 中有额外的空格

    linux - 如何从另一台机器连接到Oracle数据库?

    MySQL:预计算数据以获得更好的性能

    mysql - 如何获取自本月初以来添加的记录数

    oracle - 如何使用 Oracle 提示或其他优化来修复函数在 where 子句中的性能问题?

    oracle - 使用SqlAlchemy和cx_Oracle将Pandas DataFrame写入Oracle数据库时,加快to_sql()的速度

    oracle - Oracle 中的函数与过程

    Oracle - Autotrace 中的一致性获取与 SQL TRACE 中的一致性读取之间的区别

    java - 如何从 blob 数据类型获取完整的十六进制值?

    java - Oracle AQ java实现入队/出队