sql语句优化面试(面试问到 数据库性能优化 怎么回答 我是Oracle数据库)

本文目录
面试问到 数据库性能优化 怎么回答 我是Oracle数据库
无论什么数据库,大的方面都是这三种吧:1,数据库配置优化 2,数据库建表时字段设置优化以及字段属性的设置要最合适。3,sql查询语句优化。
sql-- 面试题目
select a.教师号,
a.count(*) 星期一,b.星期二,c.星期三 from tab a group by 教师号 where 星期号=1 and 是否有课=’有’
inner join
(select 教师号,count(*) 星期二 from tab a group by 教师号 where 星期号=2 and 是否有课=’有’) b
on b.教师号=a.教师号
inner join
(select 教师号,count(*) 星期三 from tab a group by 教师号 where 星期号=3 and 是否有课=’有’) b
on c.教师号=a.教师号
面试Java开发时问到高并发怎么处理的,还有sql优化有哪些办法,有哪位大神知道啊,新手!!
Java开发高并发的处理方法:
最基础的地方做起,优化我们写的代码,减少必要的资源浪费
避免频繁的使用new对象,对于整个应用只需要存在一个实例的类,我们可以使用单例模式。对于String连接操作,使用 StringBuffer或StringBuilder,对于工具类可以通过静态方法来访问。
避免使用错误的方式,尽量不用instanceof做条件判断。使用java中效率高的类,比如ArrayList比Vector性能好。
图片服务器分离
对于web服务器来说,图片是最消耗资源的,于是我们有必要把图片与页面进行分离,我们把图片放到独立的图片服务器。这样的架构可以降低提供页面访问请求的服务器系统压力,并且可以保证系统不会因为图片的问题而崩溃。在图片服务器上,我们可以对不同的配置进行优化。
缓存
具体接触过的缓存机制是hibernate的缓存机制。为了避免每次都向数据库中取得数据,我们把用户常常访问到的数据放到内存中,甚至缓存十分大的时候我们可以把内存中的缓存放到硬盘中。还有高级的分布式缓存数据库使用,都可以增加系统的抗压力。
分批传送
在做某项目的时候,一次传递的参数太多,而且数据库规定一次最多传递的参数最多是三万条,当时有五万条记录,那怎么传送呢?最终是分批传送,电梯里一次乘不下那么多的人,会报超重的bug,那就分批把人送上去。
还有一次在考试系统中,如果那么多的考试人员同时提交到数据库中,数据库的压力增大,有时会被down掉,当时采用的方法是使用ajax异步传输,没有等待考生点击提交按钮的时候,就把考生的答案自动提交,这样也避免了突然断电考生前面做过的题出现丢失的现象。
DB优化
在数据库设计的时候就要考虑到后期的维护,数据库三范式是我们设计数据库索要遵循的原则。
索引的建立:建立索引要适当,如果一个表经常用来被查询,对于增加和修改很少被用到,我们就可以为这个表建立索引,因为对于增加和修改和删除操作时,我们对索引的维护要大大超过索引给我们带来的效率。
表字段的类型选择要恰当。包括字段的长度、类型等,要根据实际存储的数据进行选择,长度不要过长,否则会影响效率。
外键要慎用,因为主键代表这一张表,而外键代表一群表,对表之间进行了关联,在删除修改等需要我们关联。
在数据库操作上。 尽量使用prepareStatement,少用Statement,因为PrepareStatement是进行预编译的。
connection设置为readOnly,Connection是对书库连接,属于重量级,我们使用即可。
连接池的使用,我们可以修改数据库默认的连接数。

更多文章:
these的固定搭配(this these those的用法和区别)
2026年6月12日 00:15
越南swift代码(驻越(越南)建设银行胡志明市分行联系地址和电话)
2026年3月26日 09:45
commit用法例句(commit to doing的用法和搭配是什么)
2025年12月4日 19:30
interface传感器说明书(求英语达人帮忙翻译一段说明书~~~)
2026年2月28日 01:15
clothes小学英语教案(小学英语说课稿《Unit 5 My clothes》)
2026年3月15日 14:00
oppperror怎么处理(校园网显示oppp error是什么意思)
2026年4月11日 15:00
sprintf函数详解(sprintf函数中的格式 “%%0%dd“ 是什么意思)
2025年6月22日 17:00
sql语句执行的顺序(sql left join 的执行顺序)
2026年1月13日 11:30
externalsata要打开吗(机箱面板上的e-sata接口有什么用)
2026年6月8日 16:30
请问如何学设计单片机程序的汇编语言?arm汇编语言,之前从未接触过汇编语言,有什么较为基础的最好是从零开始的教程最好是视频的
2025年9月22日 17:00









