测试方案评定会心得

1、数据库避免“or”查询

该项目情况是搜索用户,某输入框可输入ID或者姓名进行查找。开发使用or查询,可能会遍历全表降低查找效率;可在前端或后端做个识别,区分字段,比如ID都为数字。

查了下mysql关于or查询的优化:

当使用or的时候是不会用到索引的 【explain SELECT * FROM aladdin_resource WHERE state = 1 OR state = 2;】

解决办法就是用union替换or 【select * from aladdin_resource where state=1 union select * from aladdin_resource where state=2;】

union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。

2、日期条件的返回

很多时候,我们不输入条件,直接点击查询(默认查询)是会返回所有数据的。该项目的数据量是会一直增加,且鉴于用户一般关心最新数据。

故无条件搜索会默认给一个搜索时间段(如近一个月),减少数据量的返回,且会避免查询和导出不一致的情况,当用户需要查找所有数据时再手动设置日期范围。

posted @ 2020-04-01 16:36  黑子的博客yuan  阅读(129)  评论(0)    收藏  举报