单列索引和复合列索引有什么区别?
单列索引和复合列索引有什么区别?
这个问题已经有答案了:
在任何关系型数据库中,我们都可以创建索引来提高查询速度。但是创建更多的索引可能会损坏更新/插入速度,因为数据库系统将不得不在新数据到来时更新每个索引(插入、更新、合并等)。
我们以一个例子为例。
我们可以创建一个名为index1的索引
ADD INDEX index1
(order_id
ASC, buyer_id
ASC)
或者我们可以创建两个索引,index2和index3
ADD INDEX index2
(order_id
ASC)
ADD INDEX index3
(buyer_id
ASC)
在像这样的查询中
select * from tablename where order_id>100 and buyer_id>100
哪一个更快?是使用Index1还是index2和index3?
另一方面,在插入或更新时,我认为只使用一个索引会比使用2个索引快得多,但我没有对MySql或MSSQL服务器进行测试,所以我不能非常确定。如果有任何经验,请分享。
最后一件事是关于int类型值,我认为为int类型列创建索引并不可能或与查询时间无关,这是真的吗?
admin 更改状态以发布 2023年5月23日