当前位置: 首页 > news >正文

广州市海珠区建设和市政局网站成都网站建设制作公司

广州市海珠区建设和市政局网站,成都网站建设制作公司,怎么给制作网站谷歌地图,网站建站 上海文章目录逻辑删除如何建立唯一索引唯一索引失效问题加密字段模糊查询问题maven依赖冲突问题(jar包版本冲突问题)sql in条件查询时 将结果按照传入顺序排序作为一个开发人员 总会遇到各种难题 本文列举博主 遇见/想到 的例子 ,也希望同学们可以…

文章目录

  • 逻辑删除如何建立唯一索引
  • 唯一索引失效问题
  • 加密字段模糊查询问题
  • maven依赖冲突问题(jar包版本冲突问题)
  • sql in条件查询时 将结果按照传入顺序排序

作为一个开发人员 总会遇到各种难题 本文列举博主 遇见/想到 的例子 ,也希望同学们可以在评论区举例交流 共同进步~

逻辑删除如何建立唯一索引

场景描述:

比如我们有project项目表
字段project_name 是唯一的,
且有逻辑删除字段is_delete 0表示未删除 1表示已删除

很显然 不能直接将project_name设置为唯一索引,
例如A用户建立的project_name为 java工程,又把这个工程(逻辑)删除了, 这时B用户是允许建立 java工程的。

那将is_delete project_name 共同设置为唯一索引是否可行呢? 答案也是否定的,在B用户删除时,就会出现问题了。

解决方案:
is_delete 不用0和1表示,可改为数字递增,或者时间戳(尽量小 例如纳秒级别), 这时将is_delete project_name 共同设置为唯一索引 可以解决该问题。

唯一索引失效问题

场景描述:
人员姓名和电话 组成唯一索引 。
在这里插入图片描述
在这里插入图片描述
出现问题:
有两个小孩 名字都叫小朋友 且他们都没有手机号 此时数据重复 唯一索引失效。 我们换个场景,在高并发的电商活动中,用户姓名和vip标识码 组成唯一索引,此时有两位用户 都不是vip用户,vip标识码都为空,那可能出现的问题就比较严峻了

在这里插入图片描述

解决方案: 唯一索引的字段设置为非空,因为空是允许重复的
( 不管单独将某一个字段设置为唯一索引 还是多个字段组合成唯一索引 都一样的)

加密字段模糊查询问题

场景描述: 用户敏感信息,例如手机号 身份证 户籍所在地 入库时,我们通常会加密, 这时需要模糊查询

解决方案:

  1. 数据量少时,例如只是一个公司内部系统的人员表,可以全表查询 并解密,在java代码中过滤 (如果遇到要分页,那得好好考虑怎么处理分页问题了)

  2. 与业务/产品沟通,看搜索的字数是否相对固定的,例如某用户的户籍所在地是广东省广州市 那么我们可以将广东省、广州市拆分加密。
    假设广东省加密后字符串为 pwd_gds 广州市加密后字符串为pwd_gzs,
    此时我们前端传入广州市,后端加密后再进行模糊查询 sql语句变成 like %pwd_gzs%

  3. 当然 前面两种方式只是取巧,通常在中型规模的项目就已经不适用了,既然提到拆分,那我们可以联想到分词,所以我们可以使用es,将各词都拆分加密 存入es中 (题外话 es也好 其它存储也罢 一定要设置密码 )

maven依赖冲突问题(jar包版本冲突问题)

场景描述: classNotFound , 这是在项目中,引入版本不正确最经常遇到的问题提了。 我们跟进报错类,找到顶部import导包处,假设我们红色涂抹部分报红,我们可以找到前一级目录(红色划线处) ,按住ctrl 键 再鼠标左键点击,找到所在jar包
在这里插入图片描述

解决方案: 将jar包升级(或降级)。
但很多时候,该jar包并不是我们直接通过maven依赖引入的,可能是通过其它组件内部引用的,这个时候我们就可以通过mvn dependency:tree 命令,将控制台打印信息复制到文本编辑器,在文本编辑器搜索 即可知道是哪个父包引入的

sql in条件查询时 将结果按照传入顺序排序

场景描述: 例如我们调用外部接口获取id, 再通过id去数据库查询,如果获取一条id 查一次库,是可以保证结果顺序和id传入顺序一致的;那此时我们希望优化一下下,等获取一批id时,再通过in条件查询的形式 :

select xx,xxx,xxxx from t where id in(5,1,4,2,3) 

此时如何保证返回结果顺序与id传入顺序一致呢? 如上伪代码 id=5 时,希望返回记录在第一条

解决方案:

  1. sql层面处理

orcale : order by decode
在这里插入图片描述

mysql : order by field
在这里插入图片描述
2. 如果条件允许 不是直接sql开发,那么推荐是在java代码中去二次处理数据的,循环idList 根据id对比去重新组装结果即可。

http://www.hrbkazy.com/news/21080.html

相关文章:

  • 建设网站前需考虑哪些问题seo怎么做优化方案
  • 免费自制网站建设seo的范畴是什么
  • 青岛品牌策划公司排名河北百度竞价优化
  • 假网站怎么做呢网络搜索引擎有哪些
  • 烟台制作网站的公司简介杭州网站外包
  • 太原网站建设电话网络优化公司哪家好
  • 如何建设网站建设关键词优化公司网站
  • 做商城网站怎么做阿里云免费域名
  • 毕业设计做 做交易网站安卓aso优化工具
  • btob网站建设策略有哪些平台可以发布推广信息
  • 做室内装修设计的网站南京seo收费
  • 婚纱网站设计首页福州百度推广优化排名
  • 做问卷比较好的网站百度收录api怎么提交
  • 免费代码下载网站泰州网站优化公司
  • 怎样做天猫 淘宝网站导购企业宣传册模板
  • 内蒙住房和城乡建设部网站专业黑帽seo
  • 有哪些动态网站百度搜索引擎优化详解
  • 湛江seo网站推广沈阳关键词推广
  • pc端和手机端网站建设加强服务保障满足群众急需m
  • 濮阳机械设备企业网站建设搜狗推广登陆
  • 做网上购物网站seo网站推广助理
  • 长沙专业网站制作下载百度地图2022最新版官方
  • wordpress 主题 minty企业网站seo方案案例
  • 文化馆 网站 设计seo关键词优化怎么收费
  • 网站构成的作用公司网络推广的作用
  • asp网站开发环境搭建seo外包资讯
  • 国际网站开发客户流量平台排名
  • 网站哪里有做的小网站关键词搜什么
  • 骨骼型的网站百度网站免费优化软件下载
  • 大专毕业论文 企业的网站建设广州网站优化工具