java中的泛型和sql中的索引

 

sql中的索引

索引:好处查询的速度快,被删除,修改,不会对表产生影响,作用是加速查询;
一种典型的数据库对象
作用:提交数据的查询效率,尤其对一些数据量很大的表
索引是用来为表服务的
索引是oracle服务器自动来使用(索引区的查找是oracle自动的)和维护(当记录发生变化的时候,索引区会自动随之更改)

6.定义
定义的两种方式 
A.自动创建:
主键 或 唯一性约束,会自动创建索引

B.手动创建
CREATE INDEX ENAME_IDX ON emp(ename)索引建立在表emp的ename列上

7.索引的创建时机问题:
两种情况下一般都要创建一个索引:
列经常被用来做条件查询的时候
表数据量很大的时候

下列情况不要创建索引:
表很小
列不经常作为连接条件或出现在WHERE子句中
查询的数据大于2%到4%
表经常更新

 

java中的泛型;

  1.泛型类或泛型接口 
如果一个类要和别的N个类型打交道,但是处理的逻辑都是一样的,我们可以把要处理的类作为类参(泛型),减少重复的代码。
class AListForStudent{       
void add(Student stu){...}       
Student get(int index){}    }            
class AListForTeacher{        
void add(Teacher stu){...}        
Teacher get(int index){}    }        
class AList{        
void add(Object stu){...}           
  2.完全重复的逻辑,只是运算因子不一样,用方法的封装去解决   
  完全重复的逻辑,只是实例状态不同,用继承去解决    
  完全重复的逻辑,只是面向的具体类型不同,用泛型去解决
class AList<T>{  //T待定,泛型类中可以把T当作一个类型来使用。一旦确定,所有T出现的地方都会被真实的类型替代        
void add(T stu){...}        
T get(int index){}    }            
AList<Student> stuList = new AList<Student>();    
stuList.add(new Teacher());//error  stuList.add(new 好学生()); //ok
  3泛型方法    
<T>List<T> queryForList(String query,Class<T> claz,Object... params)   
 调用:  List<Student> stuList = queryForList(sql,Student.class);

 

posted @ 2016-10-10 14:49  G-&-D  阅读(998)  评论(0编辑  收藏  举报