`
ganjp
  • 浏览: 70306 次
  • 性别: Icon_minigender_1
  • 来自: 其实还可以
社区版块
存档分类
最新评论

知识点记录

阅读更多

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;

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics