zoukankan      html  css  js  c++  java
  • 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);
  • 相关阅读:
    Android中this.*与*.this还有*.class的区别是什么?
    多线程之CEvent
    Java类型信息之RTTI
    javascript学习-闭包
    javascript学习-对象与原型
    javascript学习-类型判断
    Javascript学习-简单测试环境
    javascript学习-目录
    MySQL数据库安装与配置详解
    深入研究C语言 第四篇
  • 原文地址:https://www.cnblogs.com/lxnlxn/p/5945794.html
Copyright © 2011-2022 走看看