读书人

知识点记要

发布时间: 2012-11-16 14:12:14 作者: rapoo

知识点记录

6.22

数据库的索引:

????? 其实我一直不是很理解索引,对索引的了解也就是听别人说,查大数据量的时候要建立索引,加快查询速度。 知道索引在大数据量的时候可以加快查询速度,那么索引是什么呢?

??? 定义是这样的 一个方案中的对象 被oracle服务器用来加速对表的查询

通过使用快速路径访问方法快速定位数据,于表独立存放,被Oracle数据库服务器使用和维护,注意建立了索引是不需要我们手动去操作的,会由数据库本身去操作,一定要有WHERE条件才有可能用到索引。

? 手动创建索引:

?CREATE INDEX index_name on table_name(col_name);

那么什么时候要创建索引呢:

1.包含了大量不同值的列2.包含了大量空值的列3.一个或者多个列经常出现在Where条件中或者作为连接的条件出现4.表的数据量很大 而且对表的查询经常表中数据的2%到4%(及少量数据)

我们知道建立索引是有开支,索引我们应该避免建立不必要的索引:

1.一个很小的表(建立索引的开支比表本身的查询还大)2.列很少被用于查询条件 (既然前面提到了 只有在where中出现的列才会用到索引? 不出现在查询条件中的列当然就不需要索引了)3.表中的数据经常变动(经常变动那么数据库服务器就需要不停的维护索引表 开支比较大)4.要被索引的列作为条件表达式的一部分

?

删除索引:

??? DROP INDEX index_name? 要删掉索引 必须有 drop any index权限

查看索引的表>>user_indexes(索引的定义 和唯一性)

user_ind_columns >>得到索引的名称表和列名

?


oracle数据库会默认的为主键创建索引,索引列就为主键列,当数据库表某些列名或者表明发生改变的时候 会自动更新索引

?

6.23

?

1.查看表所有表空间的大小>>select t.tablespace_name,sum(bytes)/1024/1024 from dba_data_files t group by t.tablespace_name
2.未使用的表空间大小>> select t.tablespace_name,sum(bytes)/1024/1024 from dba_free_space t group by t.tablespace_name

???? 在创建用户的时候可以指定表空间 create user user_name identified by password default tablesapce tablespace_name;? 那么以后在这个用户下建立表的话?? 就是指定的这个表空间了

?

?

6.24

?

? 开发数据库应用的原则》》

?1.能用一条 SQL解决的尽量用一条sql语句解决

?2.一条sql不能解决的可以用pl/sql(pl/sql)尽量少用

?3.pl/sql无法做到的 用java存储过程来实现

?

?

6.25

? jdbc的优化,通过多种途径:

???????? 1.设置合适的预取行值 有多中途径

???????? 2.采用连接池技术

???????? 3.合理应用事务

???????? 4.选择合适的事务隔离层与及时关闭连接对象

?

6.26

?

?

6.27

?

?? JavaScript方面的 增加事件处理>>

?

IE:有自己的方法?? attachEvent("event_name",function) 两个参数 一个是添加的方法名 另外一个是要执行的方法

如:? function fnClick() { alert('clicked');}??

????????????????????????? detechEvent()

?

document.getElementById('id').attachEvent("onclick",fnClick);? //这样就添加了

?

?

FF:区别? 是操作dom?? addEventListener() 事件名称,要分配的函数,处理函数

?

function testListener() {
??? ??? ??? alert('listener success!');

}
oDiv.addEventListener("click",testListener,false); //这里是click 不是onclick

oDiv.removeEventListener();

?

事件对象

? 获取事件对象信息 ----- 1.引起事件的对象 2.事件发生时的鼠标信息 2.事件发生时的键盘信息

?

又是分IE和别的浏览器? 怎么就这么不相同呢 真心服了

IE中

?

? oDiv.onclick = functionn() {

???? var oEvent = window.event;

???? alert(oEvent.type);

}

?

FF:

? oDiv.onclick = funtion() {

???? var oEvent = arguments[0];

???? alert(oEvent.type);? //返回事件的类型 click
?}

?

写通用的方法

?

? function handlerEvent(oEvent) {

???? if(oEvent.type == "click") {

?????????? alert('Clicked');

??? }else if(oEvent.type == "mouseover") {

????????? alert("mouserOver");

??? }

?}

?

oDiv.onclick? = handlerEvent;

oDiv.onmouseover = handlerEvent;

?

读书人网 >其他相关

热点推荐