Tomcat和SQL优化的面试题总结

说一说Tomcat优化
在windows下修改TOMCAT_HOME/bin/catalina.bat中有一个set CLASSPATH,在set CLASSPATH下面可以写入要改变得参数,也可以改变java虚拟机的最大内存,永久代大小和其他参数,具体里面的其他参数我也不记得了,在tomcat调优时我一般会看文档进行操作。在配置优化中:在TOMCAT_HOME/conf/server.xml可以配置端口,虚拟路径和其他相关配置,具体的我还得看着文档配置。除了Tomcat优化外,我还会SQL调优。



SQL优化:

1>、尽量避免在where子句中使用!=或<>操作符,否则会进行全表扫描。

2>、应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: 

select id from t where num is null 

可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: 

select id from t where num=0 

3>、应尽量避免在 where 子句中使用 or 来连接条件,否则将导致引擎放弃使用索引而进行全表扫描,如: 

select id from t where num=10 or num=20 

可以这样查询: 

select id from t where num=10 

union all 

select id from t where num=20 

4>、应尽量避免在 where 子句中对字段进行表达式操作,这将导致引擎放弃使用索引而进行全表扫描。如: 

select id from t where num/2=100 

应改为: 

select id from t where num=100



5>、应尽量避免在where子句中对字段进行函数操作,这将导致引擎放弃使用索引而进行全表扫描。如: 

select id from t where substring(name,1,3)=‘abc’–name以abc开头的id 

select id from t where datediff(day,createdate,‘2005-11-30’)=0–'2005-11-30’生成的id 

应改为: 

select id from t where name like ‘abc%’ 

select id from t where createdate>=‘2005-11-30’ and createdate<‘2005-12-1’ 

6>、.不要在 where 子句中的“=”左边进行函数、算术运算或其他表达式运算,否则系统将可能无法正确使用索引。

7>、任何地方都不要使用 select * from t ,用具体的字段列表代替“
”,不要返回用不到的任何字段。

8>、避免频繁创建和删除临时表,以减少系统表资源的消耗。

9>、尽量避免使用游标,因为游标的效率较差,如果游标操作的数据超过1万行,那么就应该考虑改写。

10>、使用基于游标的方法或临时表方法之前,应先寻找基于集的解决方案来解决问题,基于集的方法通常更有效。

转自: https://blog.csdn.net/h610443955/article/details/78818491

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值