存储过程及索引概述

存储过程(Stored Procedure)
  可以包含逻辑判断的sql语句集合。
  是经过预编译,存在于数据库中。
  通过调用指定存储过程的名字(可有参,可无参)来执行。
优点:
  简化了复杂的业务逻辑,根据需要可重复使用
  屏蔽了底层细节,不暴露表信息即可完成操作
  降低网络的通信量,多条语句可以封装成一个存储过程来执行
  设置访问权限来提高安全性
  提高执行效率,因为它是预编译以及存储在数据库中
缺点:
  可移植性差,相同的存储过程并不能跨多个数据库进行操作
  大量使用存储过程后,首先会使服务器压力增大,而且维护难度逐渐增加
 
存储过程的语法:
 
--下面是在oracle数据库下最基本的语法
--仅创建一个名为testProcedure 的无参的存储过程
--IS也可以是AS
--如果已经存在名为 testProcedure 的存储过程,下面的语法会出现 名称已被使用的错误
--解决办法:
--第一句可以写成 create or replace procedure testProcedure
--这样会替换原有的存储过程
--NULL表示任何可以正确执行的sql 语句,但至少一句
 
create procedure testProcedure
IS
BEGIN
 
NULL
 
END;
 
存储过程的参数的分类:
IN
OUT
INOUT
 
//注意:
  //存储过程之间可相互调用
  //存储过程一般修改后,立即生效。
索引概述:
 
1、索引的概念
    索引就是为了提高数据的检索速度。
数据库的索引类似于书籍的索引。
在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息。
在数据库中,索引也允许数据库程序迅速地找到表中的数据,
而不必扫描整个数据库.
 
2、索引的优点
  1.创建唯一性索引,保证数据库表中每一行数据的唯一性
  2.大大加快数据的检索速度,这也是创建索引的最主要的原因
  3.减少磁盘IO(向字典一样可以直接定位)
3、索引的缺点
   1.创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加
  2.索引需要占用额外的物理空间
   3.当对表中的数据进行增加、删除和修改的时候,
索引也要动态的维护,降低了数据的维护速度
4、索引的分类
  1.普通索引和唯一性索引
      普通索引:CREATE  INDEX mycolumn_index ON mytable (myclumn)
      唯一性索引:保证在索引列中的全部数据是唯一的
      CREATE unique INDEX mycolumn_index ON mytable (myclumn)
  
    2. 单个索引和复合索引
      单个索引:对单个字段建立索引
      复合索引:又叫组合索引,在索引建立语句中同时包含多个字段名,
      最多16个字段
      CREATE INDEX name_index ON userInfo(firstname,lastname)
  
     3.顺序索引,散列索引,位图索引
posted @ 2021-02-08 20:56  贩卖人烟  阅读(205)  评论(0编辑  收藏  举报