java面试之SQL优化、运行时异常

说说你了解的sql优化有哪些

以下是一些SQL优化技巧:

索引优化:对于查询频繁的列建立索引,可以大幅度提高查询效率。但同时也要避免过多的索引或者不必要的复合索引,因为它们会增加写操作的开销。

查询条件优化:避免使用%LIKE%等模糊匹配操作符,这种操作将导致全表扫描,降低查询效率。尽可能使用等值匹配操作符=和区间匹配操作符BETWEEN、IN。

优化超时语句:缓存重复查询结果、取消不必要冗余查询,尽量减少子查询次数、合理使用临时表、合理利用分区特性等方式优化SQL语句的执行效率。

避免大表关联:避免在大表上做关联操作,如果关联操作无法避免,可以通过分批次查询分离出大表和小表,减少线程阻塞和查询时间。

数据库硬件优化:可以通过升级硬件、增加服务器缓存等方式来提高数据库性能。

分表分库:对于数据量较大的应用,可以采用分表分库的方式拆分数据,从而提高查询效率和可扩展性。

适时清理数据:定期清理无用数据和历史记录,减少表数据量,从而提高数据库性能。

总之,SQL优化是一个综合性的问题,需要根据具体情况来选择合适的优化方案。同时,SQL优化也需要不断进行测试和调整,以达到最佳的优化效果。

说说你了解的运行时异常

运行时异常是指在程序运行期间发生的异常,它通常是由于代码执行时出现了不可预知的错误或者意外情况导致的。以下是一些常见的运行时异常:

空指针异常(NullPointerException):当代码试图使用空对象时,会抛出该异常。比如对一个未初始化的变量进行操作、调用一个空对象的方法等。

数组下标越界异常(ArrayIndexOutOfBoundsException):当代码试图访问数组中不存在的索引时,会抛出该异常。

类型转换异常(ClassCastException):当代码试图将一个对象强制转换成另一个不兼容的类型时,会抛出该异常。

数字格式异常(NumberFormatException):当代码试图将一个不合法的字符串转换为数字时,会抛出该异常。

运行时IO异常(RuntimeException):该异常是所有运行时异常的父类,它包括很多不同类型的异常,如试图打开一个不存在的文件等。

运行时异常通常都是由程序员的编写错误或者系统错误所引起的,因此我们在编写程序时应该尽可能避免这些异常的发生。如果出现了运行时异常,我们需要对程序进行调试和修改,以修复潜在的问题,并保证程序的稳定运行。

你可能感兴趣的:(面试题,java,面试,sql)