软件测试基础知识(数据库篇)
目录
一、概念
1.1 主键和外键
1.2 事务
1.3 索引
1.4 存储过程
二、函数
三、关键字
四、单多表查询语句书写
一、概念
1.1 主键和外键
主键:一张表中可以唯一标识一条记录的字段。
外键:确定另一张表记录的字段,用于建立和另一张表的关联。可以是另一张表的主键,可以有多个且重复,也可以是空值。
1.2 事务
事务:并发控制的基本单位,就是一系列操作,这些操作都执行成功或者都执行失败。
1.3 索引
索引:关系型数据库(以“表格”的形式来存储和管理数据的数据库)中,像一本书的目录,可以根据目录快速定位到想要查找的内容。一般索引添加在查询频率特别高的字段。
查看索引语句:
EXPLAIN SELECT * FROM student WHERE name = '张三';
看type返回值,all表示全表扫描,没加索引,ref表示有索引。
添加索引语句:
CREATE INDEX idx_name ON student (name);
在
student
表的name
列上创建idx_name索引
从性能测试的角度来说,索引可以减少数据瓶颈,从而提升系统的TPS,也就是并发能力。
对于现在企业中的大型数据库来说,基本都有索引,它可以快速对应表的sql执行速度,从而大大提升数据库性能。
1.4 存储过程
存储过程:类似于编程语言中的函数或方法,用于向数据库中插入数据,快速造数据做压测。
优点:速度快
存储过程流程:新建函数(即为存储过程)→使用语法begin,end→在里面写入语法代码→执行插入语句(循环10000次,就是造了一万条数据)。
二、函数
select count (*) from people where sex=女
COUNT(*)返回表中的行数(包括有NULL值的列)
MAX(表达式)返回表达式中的最大值
MIN(表达式)返回表达式中的最小值
SUM(表达式)返回表达式中所有的总和
AVG(表达式)返回表达式中所有的平均值
三、关键字
limit 1
Select * from student limit 2,4; 代表取4行,从第三行开始,程序员都是从0开始。
group by.....having 分组加条件
order by createtime desc 按时间倒序排序
distinct 去重
四、单多表查询语句书写
left...join、right...join、Inner...join三者区别:
性能:inner join最快,left/right...join因处理NULL值可能稍慢。
牛客网:练习写单多表查询语句