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 ...
随机推荐
- CodeForces 676D代码 哪里有问题呢?
题目: http://codeforces.com/problemset/problem/676/D code: #include <stdio.h> #define MAXN 1001 ...
- sublime sublimeCodeIntel插件 配置
安装完成后, 弹出一个说明 页面, 不用 管 .可到了这里就是没有提示信息, 忽略 配置sublimeCodeIntel的config文件,告诉他我们需要javascript的提示. 法一: 通过su ...
- apachebench的简单使用1
ApacheBench是 Apache 附带的一个小工具,专门用于 HTTP Server 的benchmark testing,可以同时模拟多个并发请求. ab的基本格式: NAME ab - Ap ...
- 文件名保存为.wsf文件即可分析文件夹中每个文件的行数
<job id="HowManyLines"> <script language="VBScript"> Const ForReadin ...
- 简单的oracle分页语句
SELECT * FROM ( SELECT rownum rn,te.* FROM (SELECT * FROM tb_enterprise) te WHERE rownum <= 10) ...
- android 中获取当前焦点所在屏幕中的位置 view.getLocationOnScreen(location)
final int[] location = new int[2]; view.getLocationOnScreen(location); final int[] location = new in ...
- Java提高篇—— 简单介绍Java 的内存泄漏
java最明显的一个优势就是它的内存管理机制.你只需简单创建对象,java的垃圾回收机制负责分配和释放内存.然而情况并不像想像的那么简单,因为在Java应用中经常发生内存泄漏. 本教程演示了什么是内存 ...
- new一張form時用using{}的好處。
以下代碼,用Using可避免一些問題,例如handel10000.如果PaymentForm裏面用dialogresult=''而不是close或X,(close或X會即時dispose回收,但dia ...
- 如何把Excel中的某列数值如何转换成文本格式,且兼容性最好?
假设要把下方A列数值变成文本格式.有多种方法,其中下方的方法兼容性最好: 第一步:选择 A 列,然后,运行菜单 数据/分列... 命令,如下图: 第二步:默认 下一步: 第三步:默认 下一步: 第四步 ...
- Response.End抛出ThreadAbortException 异常
最近在写程序过程中遇到了一个匪夷所思的错误:Response.End()方法抛出了ThreadAbortException异常,我的代码如下: public void doResponse(){ st ...