java基础知识(15)---面试宝典

62、索引对DML语句的影响
数据库利用索引来提高根据索引列的查询效率。但是在提高根据索引列查询效率的同时降低了DML语句的效率。因为当对该表进行DML操作的时候,需要同时维护索引树。
索引创建索引的原则在经常作为查询条件的字段上创建索引,如果改变偏重于DML语句的效率则不建立索引。

63、请问对给表创建主键,是否会提高根据主键列的查询效率
会提高查询效率。主键是数据库的一种约束,由主键约束的字段唯一并且非空。一个表只能有一个主键。主键的意义在于唯一标识一条记录。
但是,在数据库中当创建唯一约束时,会自动在该列创建一个索引。即创建主键时,会自动在该列创建索引 。所以会提高根据主键列的查询效率,这是索引起的作用。

64、索引失效的情况
1、没有根据索引列进行查询
2、在索引列上使用函数
3、模糊查询前置%失效
4、当查询条件为is null时失效。因为null值不会放入索引树中(null只是一种 状态)
5、当使用to_char,to_date 当格式大小写和索引定义不一致时,索引失效
6、我们可以为经常作为组合查询的条件建立一个联合索引
单独引用复合(联合索引)索引里非第一位置的索引列
create index index_dssds on db_test_index(index_no,index_name)
对index_name进行查询时失效.
7、用于联合索引的列不能使用 or 关联只能用and
select * from db_test_index where index_no=’sdfsdfsdfsd’ or index_name=’sdfsdfsdf’
是失效的

65、怎样提高Web应用程序的效率
页面
1、避免使用大图片
2、避免一次性加载过多的数据(使用分页)
3、局部刷新尽量使用Ajax
4、尽可能的避免在window.onload时间中写过多代码。可以使用Jquery. Ready方法分开
5、尽可能减少与服务器的交互。(即JS能搞定就不要麻烦Java代码 如:非空校验)

Java代码
6、使用合适的对象 。如 String StringBuilder、ArrayList,LinkedList
7、使用合适的算法(冒泡排序,选择排序 | 遍历查找,二分法查找)。
8、尽可能减少与数据库的交互(原则:能在Java中解决的就不用数据库(如Java:uuid Oracle:sys_guid())。使用数据库连接池(如:c3p0,dbcp,druid))

数据库:
9、 尽可能的让SQL进行优化。
10、 查询效率低可以创建索引,并保持它是有效的。
11、 DML效率低,可以删除不必要的索引。
12、 如果表数据特别的大,可以考虑建立分区表(提高查询效率)
13、扩大表空间
14、更换硬件

66、Redis数据数据类型
Redis支持的类型一共有五种:
1、字符串类型
2、列表类型
3、哈希类型(相当于Map<String,String>)
4、集合类型(相当于Set,无序不可重复)
5、有序集合(相当于TreeSet,内容不可重复,但是会按照给出的排序值进行排序)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值