
慧测微课程活动正式启动。持续关注慧测,每天进步一点!
讲师:房老师
本期语音讲解

各位测试界小伙伴们
大家好,我是慧测的房老师,
欢迎大家参加慧测的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

慧测腾讯课堂 课程地址:


