大数跨境

测试开发成长课堂——第七期

测试开发成长课堂——第七期 慧测
2019-08-30
2
导读:持续关注慧测,每天进步一点!本期讲师:房老师



慧测微课程活动正式启动。持续关注慧测,每天进步一点!


讲师:房老师

本期语音讲解




各位测试界小伙伴们


大家好,我是慧测的房老师,


欢迎大家参加慧测的2019年系列微课程活动。


本套课程主要分为两部分内容:


《每期一道名企面试题分析》


《每期5分钟测试开发小课堂》


目的是让大家利用好碎片化时间,每天积累一点技术。


在这门系列课程的每一期,


我都会带领大家分析一道近期一线互联网公司测试开发笔、面试题。


让大家了解企业对技术的考察点,也帮助大家每期积累一个知识点。


本期要分析的是一道 数据库索引 相关的面试题。


有请题目登场:


数据库添加索引的目的是什么?


索引对数据库系统的负面影响是什么?


为数据表建立索引的原则有哪些?什么情况下不宜建立索引?


索引用于快速找出在某个列中有一特定值的行,不使用索引,MySQL必须从第一条记录开始读完整个表,直到找出相关的行,表越大,查询数据所花费的时间就越多,如果表中查询的列有一个索引,MySQL能够快速到达一个位置去搜索数据文件,而不必查看所有数据,那么将会节省很大一部分时间。


数据库建立索引的优点


第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。


第二,可以大大加快数据的检索速度,这也是创建索引的最主要原因。


第三,可以加速表与表之间的数据连接,特别是在实现数据的参考完整性方面特别有意义。


第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。


第五,通过使用索引,可以在查询到的过程中,使用优化隐藏器,提高系统的性能。


增加索引也有不利的方面:


第一,创建索引和维护索引要消耗时间,这种时间随着数据量的增加而增加。


第二,索引需要占用物理空间,除了数据表占用数据空间之外,每一个索引还要占用一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。


第三,当表中的数据增加、删除和修改时,索引也要动态的维护,这样就降低了数据的维护速度。


应该在这些列上创建索引:


在经常需要搜索的列;


在作为主键的列;


在经常需要根据范围进行搜索的列上创建索引;


在经常需要排序的列上创建索引;


在经常使用在where子句中的列上面创建索引;


不应该创建索引的列:


对于在查询中很少使用或者参考的列;


对于只有很少数据值的列;


对于定义为text、image和bit数据类型的列;


当修改性能远远大于检索性能时,不应该创建索引;




以上就是今天面试题分享的全部内容,我们下期再见。


关注慧测,每天进步一点。





-END-






上期回顾:



测试开发成长课堂——第六期

测试开发成长课堂——第五期

测试开发成长课堂——第四期

测试开发成长课堂——第三期

测试开发成长课堂——第二期

测试开发成长课堂——第一期







慧测8月开班信息:

(别等啦,错过可能就是明年学习啦)

8月18日——自动化17期

8月18日——测试开发6期

8月18日——性能29期

8月18日——Python共享2期





欢迎加入我们:

慧测官网:www.huicewang.com

慧测Python群:324015481

公开课服务群:623636110

咨询QQ:2657535456

咨询微信号:huice666


慧测腾讯课堂 课程地址














【声明】内容源于网络
0
0
慧测
专注人工智能前沿技术落地企业实战应用
内容 404
粉丝 0
慧测 专注人工智能前沿技术落地企业实战应用
总阅读104
粉丝0
内容404