- 博客(3)
- 收藏
- 关注
原创 SqlServer数据批量写入(sql bulk copy)
单个Excel文件最终产生的数据库行数就有400w到500w,由于sqlserver对于sql预编译的参数数量有限制,最高2100个参数,所以这里直接用insert语句插入显然是不行的。近期工作中遇到一个迁移老系统的任务,大致内容就是将用户上传的excel文件,按照一定的规则做处理,将处理后的数据入库,数据库是sqlserver。都是根据网上不多的博客以及自己慢慢试错才搞出来的,中间踩过很多坑,这里记录一下,希望对后面有需要的人有所帮助。
2023-07-21 16:31:19 1698
原创 记一次SqlServer bulk-copy的使用报错
在后续修改了数据库表字段的长度后,没有重启程序,导致程序当中缓存的ResultSet与实际表的元数据不一致,在执行writeToServer时,就报了“从 bcp 客户端收到一个对 colid 2 无效的列长度”这个错误。对于“从 bcp 客户端收到一个对 colid 2 无效的列长度”这个报错,网络上的解释还有一点我很疑惑,很多人说这个2,表示的是2+1列的问题,可是我出问题的确实是第2列,这个有点懵逼。当然,我这并没有经过严格的测试论证,在这里只是分享出来,给大家在排查问题时,能提供一个验证的思路。
2023-07-12 10:20:39 286
原创 为什么Redis跳表结构中,header节点不计入length和level
都不行,因为跳表中的顺序是随时会变的,假如当前的节点排序在第一,被当做header,那如果后续插入了一个score更小的元素呢,此时怎么办,难道让header指向新插入的元素,然后把层高拉到和原来的第一个节点一样?打个比方,如果跳表第一个节点有4层,第三个节点有10层,根据查找逻辑,从第一个节点的层开始遍历,最高只会到4,也就是会访问到第三个节点的4层,第三个节点5至10层都不会用到。,由高到低依次遍历层,找到层中下一个节点,依据下一个节点的值,来判断是跳跃到当前层下一个节点,还是下到下一层。
2023-07-06 14:02:28 55
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人