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);
java中的泛型和sql中的索引的更多相关文章
- Java中日期类型和mysql中日期类型进行整合
1. java与mysql中日期.时间类型总结: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 mysql(版本:5.1.50)的时间日期类型如下: da ...
- 1.什么是泛型和C#中泛型在Class上的实现
阅读目录 一:什么是泛型? 二:C#中泛型在Class上的实现 一:什么是泛型? 我们在编程的时候需要一个数据类型,但是在刚开始的时候还不确定这个数据类型是怎么样的,或者说对于不同的多个数据类型有 ...
- mysql中select into 和sql中的select into 对比
现在有张表为student,我想将这个表里面的数据复制到一个为dust的新表中去.answer 01: create table dust select * from student;//用于复制前未 ...
- 英文操作系统中中文乱码(SQL中 NVARCHAR 和 VARCHAR区别)
varchar在SQL Server中是采用单字节来存储数据的,nvarchar是使用Unico来存储数据的.中文字符存储到SQL Server中会保存为两个字节(一般采用Unico编码),英 ...
- (转)SQL中的ISNULL函数介绍
SQL中有多种多样的函数,下面将为您介绍SQL中的ISNULL函数,包括其语法.注释.返回类型等,供您参考,希望对您学习SQL能够有所帮助. ISNULL 使用指定的替换值替换 NULL. 语法ISN ...
- SQL中使用关键词创建表或字段
有时候我们给表或者字段命名时,会无意中选择了一个SQL中的关键字进行命名,然后就报错了: ERROR: syntax error at or near "limit" MySQL ...
- Mybatis在xml配置文件中处理SQL中的大于小于号的方法
之前在项目中遇到了在SQL中<=不识别的问题,在Navicat中语句正常,在xml中不识别,想起来就记录一下 项目用的是Mybatis,经过网上多次查询,验证,总结方法如下: 一.使用<! ...
- SQLSERVER中的timestamp 和 C#中的byte[] 转换
项目中由于需求设计,数据库中需要一个timestamp时间戳类型的字段来作为区别数据添加和修改的标识.由于timestamp在SQL SERVER 2005数据库中,不可为空的timestamp类型在 ...
- C#当中的泛型和java中的对比
1.C#中的泛型 先写一个Demo: namespace generic { public class Program { static ...
随机推荐
- ajax返回json在 IE下,提示打开或保存的解决方法
Content-type要设置成 text/html 我是用的mvc jquery.form.js 提交的表单. 返回json响应数据. 结果在ie下提示打开或保存,查看保存的内容.就是我返回的jso ...
- PostgreSQL windows service启动失败
from: http://stackoverflow.com/questions/1251233/unable-to-run-postgresql-as-windows-servicepg_ctl - ...
- OC编码问题输出中文
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...
- Python实例学习-文件备份
1. 介绍 通过实例学习Python的使用,该实例来自文献[1]中的第11章解决问题. 由于没有搞清楚Win7下如何通过命令行调用zip命令,所以采用7z[2],采用7-zip命令行版本[3],版本号 ...
- CSS实现单行、多行文本溢出显示省略号(…)
如果实现单行文本的溢出显示省略号同学们应该都知道用text-overflow:ellipsis属性来,当然还需要加宽度width属来兼容部分浏览. 实现方法: overflow: hidden; te ...
- 基于spring的aop实现读写分离与事务配置
项目开发中经常会遇到读写分离等多数据源配置的需求,在Java项目中可以通过Spring AOP来实现多数据源的切换. 一.Spring事务开启流程 Spring中通常通过@Transactional来 ...
- Python基础学习-Python中最常见括号()、[]、{}的区别
Python中最常见括号的区别: 在Python语言中最常见的括号有三种,分别是:小括号().中括号[].花括号{}:其作用也不相同,分别用来代表不同的Python基本内置数据类型. Python中的 ...
- 使用css让div半透明
设置div的背景为半透明,下面有个不错示例,使用div+css来实现下,不会的朋友可以参考下 div{filter:alpha(Opacity=80);-moz-opacity:0.5;opacity ...
- 关于DoesObjectExist
目录: 我们可以看到这个文件夹目录是存在的 文件: 然后,我们运行测试一下: 文件存在检测成功(正常) 文件夹存在,但检测失败! ??? 明明存在的,为什么检测不到……
- Linux系统安装-系统分区
ctrl+alt+enter全屏