java web轻量级开发面试教程读书笔记:建索引时我们需要权衡的因素

Posted hsm_computer

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java web轻量级开发面试教程读书笔记:建索引时我们需要权衡的因素相关的知识,希望对你有一定的参考价值。

场景一,数据表规模不大,就几千行,即使不建索引,查询语句的返回时间也不长,这时建索引的意义就不大。当然,若就几千行,索引所占的空间也不多,所以这种情况下,顶多属于“性价比”不高。

场景二,某个商品表里有几百万条商品信息,同时每天会在一个时间点,往其中更新大概十万条左右的商品信息,现在用where语句查询特定商品时(比如where name = ‘XXX’)速度很慢。为了提升查询效率可以建索引,但当每天更新数据时,又会重建索引,这是要耗费时间的。

这时就需要综合考虑,甚至可以在更新前删除索引,更新后再重建。

场景三,从图2.1中可以看到,因为在数据表里ID值都不相同,所以索引能发挥出比较大的作用。相反,如果某个字段重复率很高,如性别字段,或者某个字段大多数值是空(null),那么不建议对该字段建索引。

请大家记住,一定是有业务需求了才会建索引。比如在一个商品表里,我们经常要根据name做查询,如果没有索引,查询速度会很慢,这时就需要建索引。但在项目开发中,如果不经常根据商品编号查询,那么就没必要对编号建索引。

最后强调一点,建索引是要付出代价的,没事别乱建,同时在一个表上也不能建太多的索引。

 

更多内容请阅读 java web轻量级开发面试教程

https://baike.baidu.com/item/Java%20Web%E8%BD%BB%E9%87%8F%E7%BA%A7%E5%BC%80%E5%8F%91%E9%9D%A2%E8%AF%95%E6%95%99%E7%A8%8B/22038502?fr=aladdin

以上是关于java web轻量级开发面试教程读书笔记:建索引时我们需要权衡的因素的主要内容,如果未能解决你的问题,请参考以下文章

面试技巧,如何通过索引说数据库优化能力,内容来自Java web轻量级开发面试教程

数据库面试技巧,通过JDBC展示自己专业性,摘自java web轻量级开发面试教程

java web轻量级开发面试教程

Java web轻量级开发面试教程的前言

根据实践经验,讲述些学习Java web能少走的弯路,内容摘自java web轻量级开发面试教程

面试时,当你有权提问时,别客气,这是个逆转的好机会(内容摘自Java Web轻量级开发面试教程)