外网体态矫正冷知识?体态矫正应该从哪里先开始(体态矫正对比图)
10492023-09-09
style="text-indent:2em;">各位老铁们,大家好,今天由我来为大家分享哪些情况下不应该使用索引,以及不建议创建索引的相关问题知识,希望对大家有所帮助。如果可以帮助到大家,还望关注收藏下本站,您的支持是我们最大的动力,谢谢大家了哈,下面我们开始吧!
本文目录
1)数据唯一性差的字段不要使用索引
比如性别,只有两种可能数据。意味着索引的二叉树级别少,多是平级。这样的二叉树查找无异于全表扫描。
2)频繁更新的字段不要使用索引
比如logincount登录次数,频繁变化导致索引也频繁变化,增大数据库工作量,降低效率。
3)字段不在where语句出现时不要添加索引
只有在where语句出现,mysql才会去使用索引
4)数据量少的表不要使用索引
使用了改善也不大
另外。如果mysql估计使用全表扫描要比使用索引快,则不会使用索引。
应该是没有默认索引,建立主键或者索引之后,oracle会在单独的一块区域建立索引的数据,索引的数据和表的数据是分别存放的,不是在一起的,索引的数据就对应表的主键或者其他索引,例如,你的表里有100条数据,并且有主键,那么在索引的区域就会有100条数据和它们对应,并且由于是主键数据,所以每条数据都是唯一的,不会重复,数据检索的时候,先去检索索引区,因为那里的数据比较少,所以速度很快。
但如果没有主键,一个表中可以有重复的数据,所以系统也不知道按照什么样的规则自动建索引,就不会有默认的索引,oracle每次查询都会进行全表查询。创建数据库索引所花费的时间不是一次性的?一般不建议建立索引,也就是会影响速度的是下面几种情况的1、修改的数据远大于查询的数据的情况2、查询中很少用到的列3、只有很少数据值的列
建立索引时要考虑的不利因素有:
1、创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加;
2、索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大,如果非聚集索引很多,一旦聚集索引改变,那么所有非聚集索引都会跟着变;
3、当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,一旦一个数据改变,并且改变的列比较多,可能会引起好几个索引跟着改变,这样就降低了数据的维护速度。
4、每个索引都有统计信息,索引越多统计信息越多,过多索引会导致优化器优化过程需要评估的组合增多。创建索引的时候,应该仔细考虑在哪些列上可以创建索引,在哪些列上不能创建索引。
如果你还想了解更多这方面的信息,记得收藏关注本站。