关于导入数据进数据库的心得
作者:网络转载 发布时间:[ 2016/2/24 10:32:13 ] 推荐标签:数据库
前期工作
一,预测要导入的数据的量
1.判断要导入的每一列数据的变化情况(数据库操作是insert的情况多还是update的情况多)
2.导入数据时能接受等待多长时间,导入的量能少接受多少(1000条,还是10000条,还是50000条??)
二,数据错误的显示形式
1.统一报错格式,设置错误类型等等
1),比如文件超过大小,可以报错类型为1. 文件行数超过多少行,可以报错类型为2.
2.在页面显示报错信息形式
1),是要在当前导入页显示,还是新的页面显示
2),报错信息是否还需要导出?
3),报错信息是以弹窗形式还是页面排列形式?展示时间又为多久?
三,数据将要以什么方式传递到后端
1.form表单直接提交?
2.ajax提交(第三方类,jquery.form.js)
1).jquery.form.js类可以防止页面刷新提交.
四,数据要处理的逻辑有哪些
1.需不需写些日志
2.和其他同事在代码上的交互,某些状态的关联修改
代码优化主要是将所有要多次查询的语句,能一次性查询则组装好一次性查询
比如 : foreach($arr as $v){
$sql = "select * from goods where id = {$v['id']}";
}
代码优化
先将$arr里面的所有id提取出来,组合成内容为 $ids = '1','2','3';
后一次性查询 SELECT * FROM goods WHERE id IN($ids);
如果是update的语句..仍然有一部分可以组合优化
UPDATE goods SET status = 1 AND id IN(XXXXX);
更负杂的有多种维度的情况仍然可以优化
比如导入数据中有仓库这个维度.
我们可以组合数组
$arr = array(
1 => array('1','2','3'), //A仓库
2 => array('1','2','3'), //B仓库
3 => array('1','2','3'), //C仓库
);
只要sql语句能一次性修改的(insert,update,delete),尽量都优化.
不过会照成代码较为复杂,所以要提前想好整个代码是否要优化到如此程度
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11