即使我从insert语句中转义该列,索引也会影响每个插入吗?

时间:2015-12-17 14:18:52

标签: mysql indexing

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

我想澄清一件事。

想象一下有一个名为test的表。

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

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

当列中的索引插入操作有成本时。

我的问题是。 ----

所以当我只将记录插入一个和两个时我是否有来自col3和col4的影响? 是否会为每个插入触发索引,或者如果我插入这些列,它会触发吗?

1 个答案:

答案 0 :(得分:2)

让我们直截了当地得到一个基本事实:在RDBMS中,没有这样的东西,你只能在表中的选定数字字段中插入记录。如果您插入记录,则该表中的所有字段将具有该记录的值。该值可能是null值,但它就在那里。

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

Mysql索引甚至是空值,因此如果每个列都有单独的索引,那么当将新记录插入表中时,mysql必须更新所有索引,无论插入中有多少字段是专门分配的值。