我在我的应用程序开发中使用MYSQL作为我的数据库。
我想澄清一件事。
想象一下有一个名为test的表。
列是col1,col2,col3,col4。 这些列有单独的索引。这意味着4个指数。
我正在向col1和col2插入一条记录。
当列中的索引插入操作有成本时。
我的问题是。 ----
所以当我只将记录插入一个和两个时我是否有来自col3和col4的影响? 是否会为每个插入触发索引,或者如果我插入这些列,它会触发吗?
答案 0 :(得分:2)
让我们直截了当地得到一个基本事实:在RDBMS中,没有这样的东西,你只能在表中的选定数字字段中插入记录。如果您插入记录,则该表中的所有字段将具有该记录的值。该值可能是null
值,但它就在那里。
更不用说另一个事实,即列可能具有非空的默认值,因此执行不指定值的插入仍将导致存储非空值。
Mysql索引甚至是空值,因此如果每个列都有单独的索引,那么当将新记录插入表中时,mysql必须更新所有索引,无论插入中有多少字段是专门分配的值。