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