【问题标题】:Will Indexes affect for every insert even I escape that column from insert statement?即使我从插入语句中转义该列,索引也会影响每个插入吗?
【发布时间】:2015-12-17 14:18:52
【问题描述】:

我在我的应用程序开发中使用 MYSQL 作为我的数据库。

我想澄清一件事。

想象有一个表叫做 test。

列是 col1,col2,col3,col4。 这些列有单独的索引。这意味着 4 个索引。

我正在向 col1 和 col2 插入一条记录。

当您在列插入操作中有索引时,会产生成本。

我的问题是。 ----

所以,当我只向一个和两个插入记录时,我是否受到 col3 和 col4 的影响? 每次插入都会触发索引,还是如果我插入这些列会触发?

【问题讨论】:

    标签: mysql indexing


    【解决方案1】:

    让我们直截了当地了解一个基本事实:在 RDBMS 中,不存在只为表中选定的数字字段插入记录的事情。如果您插入一条记录,则该表中的 所有 字段将具有该记录的值。该值可能是null 值,但它确实存在。

    更不用说另一个事实,列可能具有非空默认值,因此执行不为其指定值的插入仍会导致存储非空值。

    Mysql 甚至索引 null 值,所以如果你对每一列都有单独的索引,那么当新记录插入到表中时,mysql 必须更新所有索引,而不管插入过程中有多少字段被专门分配值。

    【讨论】:

      猜你喜欢
      • 2017-12-01
      • 1970-01-01
      • 2010-11-30
      • 1970-01-01
      • 2014-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-21
      相关资源
      最近更新 更多