200数据量的配置表(基本不动,关联比较多),加索引会查询变快吗?

200数据量的配置表(基本不动,关联比较多),加索引会查询变快吗?,第1张

无论哪一种数据库,只要数据量不断增大都会逐渐变慢,有时候数据到一个量级

速度会断壁式下跌。

一般是直接从表查询快。已经是索引列了。但是第一个查询如果数据不存在还是要遍历其他的表。这样速度就大打折扣了。

如果能保证数据一定在指定表中就是第一个快了。

大体分为如下几种情况会逆袭:

1、这个就是数据不存在,如果挨个遍历表,速度可能不如使用视图。

2、使用索引视图技术,这个跟使用表查询速度相差不大。

3、sqlserver是高级版本,可以发挥多CPU优势,这个时候速度也相差不大。

4、索引碎片过多集中在的某三四个表以上,这时候性能都比较沮丧。

从物理结构看,大多数的索引都是采用B-树结构,在叶子节点存放索引项,索引项< 键值,指针(记录的物理地址)>。在有索引时查询,会从B-树根节点开始查找键值相匹配的索引项,索引项包含指针,因此可以获取相应记录的磁盘地址,然后启动一次I/O *** 作读数。如果没有索引的话,就会扫描全表,在数据量大时这会进行大量的I/O *** 作,会非常耗时。有索引比没索引在查询时能获得更好的效率,数据量越大效益越明显。但是B-树不存储null,也就是如果查询的where条件是where xx is null,就不会走索引(即使该列上建有索引),此时会进行全表扫描。

索引加快查询速度的原理:

建立索引时,数据库就会对数据按照一定的规则存放,数据检索的时候,已经是有序了,所以可以很快的速度检索出来哦

索引对数据库性能的影响

反之没有索引的有序排列,那么每次查询数据,都会扫描整张表,加大查询的开销,会使查询速度变慢。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9933592.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存