Java个人技术知识点总结(优化篇)

5.进行搜索操作时加入js loading操作(不仅告诉用户所进行的请求正在被处理,而       且防止用户多次点击提交操作)

6.当进行删除操作的时候要弹出提示框,警告用户要进行删除操作,是否确认。

7.根据returnURL在用户登录成功后直接跳到想要访问的资源。

8.进行删除操作时通过confirm提示用户是否确认删除操作,操作完后提示操作是否       成功。

9.减少用户操作的步骤

10.使用autocomplete插件快速进行搜索

必背,必做:

1.可以通过回车键来进行搜索或者提交操作

2.添加的信息要按照id倒序进行排列

3.进行搜索操作时加入js loading操作(不仅告诉用户所进行的请求正在被处理,而且防止用户多次点击提交操作)

4.当进行删除操作的时候要弹出提示框,警告用户要进行删除操作,是否确认,如果删除成功则弹出提示框告诉用户。

5.减少用户操作的步骤

6.通过ztree,以及kindeiditor来提高用户的体验度

sql优化

1、SELECT子句中避免使用 *, 尽量应该根据业务需求按字段进行查询

2、尽量多使用COMMIT如对大数据量的分段批量提交释放了资源,减轻了服务器压力

3、在写sql语句的话,尽量保持每次查询的sql语句字段用大写,因为oracle总是先解析      sql语句,把小写的字母转换成大写的再执行

4、用UNION-ALL 替换UNION,因为UNION-ALL不会过滤重复数据,所执行效率        要快于UNION,并且UNION可以自动排序,而UNION-ALL不会

5、避免在索引列上使用计算和函数,这样索引就不能使用

Sql优化精简版:

1.(重点)(必须说) SELECT语句中避免使用 *,尽量应该根据业务需求按字段进行查询

举例:如果表中有个字段用的是clob或者是blob这种大数据字段的话,他们的查询应该根据业务需要来进行指定字段的查询,切记勿直接用*

2.(重点) 删除重复记录(oracle):

最高效的删除重复记录方法(因为使用了ROWID)例子:

DELETE  FROM  EMP E  WHERE  E.ROWID >

(SELECT MIN(X.ROWID)

FROM  EMP X  WHERE  X.EMP_NO = E.EMP_NO);

3.用>=替换>

如一个表有100万记录,一个数值型字段A,

A=0时,有30万条;

A=1时,有30万条;

A=2时,有39万条;

A=3时,有1万记录。

那么执行A>2与 A>=3 的效果就有很大的区别了,因为 A>2 时,ORACLE会先找出为2的记录索引再进行比较,而A>=3时ORACLE则直接找到=3的记录索引。

4.(重点)尽量多使用COMMIT如对大数据量的分段批量提交

5. (重点)用NOT EXISTS 或(外连接+判断为空)方案 替换 NOT IN操作符此操作是强列推荐不使用的,因为它不能应用表的索引。推荐方案:用NOT EXISTS或(外连接+判断为空)方案代替

6.(重点 必须说)LIKE操作符(大数据的全文检索使用luncene)(solr)因为使用like不当,会导致性能问题,原因是like在左右两边都有%的时候,不会使用索引。

如LIKE '%5400%'这种查询不会引用索引,而LIKE 'X5400%'则会引用范围索引。

一个实际例子:

查询营业编号YY_BH LIKE '%5400%'这个条件会产生全表扫描,如果改成YY_BH LIKE ‘X5400%’ OR YY_BH LIKE 'B5400%'则会利用YY_BH的索引进行两个范围的查询,性能肯定大大提高。

7.(重点,必须说)避免在索引列上使用计算和函数,这样索引就不能使用

举例:

低效:

SELECT… FROM  DEPT  WHERE SAL * 12 > 25000;

高效:

SELECT… FROM DEPT WHERE SAL > 25000/12;

8.(重点 必须说)用UNION-ALL 替换UNION,

因为UNION-ALL不会过滤重复数据而且不会自动排序,所执行效率要快于UNION。

9.(优化,重点,3个方面 a.缓存 b.分段批量 c.存储过程)减少访问数据库的次数

举例:如果批量删除多条数据,可以用  delete  from tableName where id

in (1,2,3)

学习分享,共勉

这里是小编拿到的学习资源,其中包括“中高级Java开发面试高频考点题笔记300道.pdf”和“Java核心知识体系笔记.pdf”文件分享,内容丰富,囊括了JVM、锁、并发、Java反射、Spring原理、微服务、Zookeeper、数据库、数据结构等大量知识点。同时还有Java进阶学习的知识笔记脑图(内含大量学习笔记)!

资料整理不易,读者朋友可以转发分享下!

Java核心知识体系笔记.pdf

![记一次蚂蚁金服Java研发岗的面试经历,分享下我的复习笔记面经](https://upload-images.jianshu.io/ 需要zi料+ 绿色徽【vip1024b】

upload_images/24616006-94a555feef7b65c3?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

中高级Java开发面试高频考点题笔记300道.pdf

记一次蚂蚁金服Java研发岗的面试经历,分享下我的复习笔记面经

架构进阶面试专题及架构学习笔记脑图

记一次蚂蚁金服Java研发岗的面试经历,分享下我的复习笔记面经

Java架构进阶学习视频分享
7b65c3?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

中高级Java开发面试高频考点题笔记300道.pdf

[外链图片转存中…(img-kKywIi9L-1710352149691)]

架构进阶面试专题及架构学习笔记脑图

[外链图片转存中…(img-1FwhdUFo-1710352149692)]

Java架构进阶学习视频分享

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值