当前位置: 首页 > 面试题库 >

SQL INSERT性能忽略字段名称吗?

岳茂
2023-03-14
问题内容

有谁知道从INSERT查询中删除字段名称是否会带来一些性能改进?

我的意思是这样的:

INSERT INTO table1 VALUES (value1, value2, ...)

比完成此任务更快地完成数据库:

INSERT INTO table1 (field1, field2, ...) VALUES (value1, value2, ...)

我知道这可能是毫无意义的性能差异,但只是要知道。

我通常使用MySQL和PostgreSQL作为数据库。


问题答案:

不,实际上相反! 至少对于Microsoft SQL Server-您没有指定要使用的数据库.....

如果您未在SELECT或INSERT中指定字段,则SQL Server的查询处理器必须首先检查系统目录以找出确实可用的字段。

因此,我始终建议您明确列出所需的字段-在SELECT上和在INSERT上一样多。



 类似资料:
  • 问题内容: 我有一个user_batch集合。它包含以下文档: 在查找查询中,我只想投影 name 和 batchSize 。但是,当我从nodejs执行find查询时,我会在查询结果中获取整个文档。查询: 如果我只是通过 {name:1}, 那么它将投影_id和名称。但是,如果我通过 batchSize ,它将返回整个文档。 注意:在Mongo Shell中执行此查询时,我没有遇到此问题 问题答

  • 我尝试设置我的JPA映射。由于某些原因,我必须有相同的java变量/表列名(包括大写字母),但我不能设置Hibernate。我尝试了明确的列名: 对于隐式映射: 这两种方法都创建不带大写字母的列名——“nextinvoicenr”。 我还试图改变Hibernate配置添加: 但没有成功

  • 我们有一个使用Spring Boot JPA/Hibernate构建的服务。 我在不同的jars包中有两个同名的类。 使用Eclipse运行应用程序会导致重复导入问题,因此我在其中一个实体中添加了以下内容: 它解决了Eclipse中的问题,我可以很好地运行应用程序。但是,当使用java -jar运行Spring Boot生成的jar时,问题又回来了: 看起来@Entity(name)属性被完全忽略

  • 问题内容: 在成功提交用户详细信息时,我从客户端获得了JSON。 由于未更新JSON中的某些元素,因此可以跳过。 在Go服务器端,我定义了一个等效的结构。 服务器成功将JSON字节编组到结构中。 但是对于未从客户端接收到的字段,默认情况下取消对字符串的硬编码解组为nil,对字符串数组解压缩为空数组。 例如,如果我获取json , 则不希望由元帅将其转换为。 简单起见,我希望它是 如何完全忽略该字段

  • 问题内容: 我有一些必须序列化为JSON的数据。我正在使用JSON.NET。我的代码结构与此类似: 问题是,我的JSON输出需要具有ON OR 或ON- 取决于所使用的字段(即不为null)。默认情况下,我的JSON如下所示: 我知道我可以使用,但这给了我如下所示的JSON: 我需要的是: 有没有简单的方法可以做到这一点? 问题答案: 是的,您需要使用。 但是由于结构是值类型,因此您需要将Fiel

  • 我有这个Pojo: 这是我的结果集映射器: 如何从数据库中少取一列。例如,在一些查询中,我只获取tagUuid和name,而不获取其他字段。但是如果我这样做,我会得到一个例外:org.skife.jdbi.v2.exceptions。ResultSetException:尝试遍历结果集时引发异常。我试图创建一个没有其他参数的附加标记构造函数。 这是我尝试运行的查询: