数据库基本知识

内存数据库

    数据在内存中,由数据库服务器定时将内存备份到磁盘中,该数据库多保存在一个文件中,可实现数据库的一般操作

    主要应用于吞吐量大、实时性的系统中,通过建立内存数据库

    缺点: 数据库级别的锁;  删除和创建索引比较慢;  不具备用户权限分级

数据库常用概念

    OLAP: 管理数据的多维结构,并进行计算和统计,多用于决策支持

    Notification Service: 可生成、发送通知的应用程序

    Integration Service: 不同数据源数据集成

    复制:不同数据库之间

    全文检索:对表中纯字符的列检索单个词或短语,返回true|false或者一个表

批处理:从client一次发送多条sql到服务器端执行

游标:程序一次获取一行或多行记录

分布式查询:从多异构数据源中获取数据

存储过程

由应用程序调用执行,可输入参数,进行流程控制的sql语句组合

好处:

         多应用程序共享,屏蔽数据库结构

定义:

         由应用程序调用执行,可输入参数,进行流程控制的sql语句组合,存储过程可调用另一存储过程

触发器

         是一种特殊存储过程,处理表间管理,应用于根据某些操作自动完成相关任务

DML触发器

         对表和视图的数据进行insert delete 和update操作。

         作用:与check约束不同,DML触发器可饮用其他表中的列;一个表中多个DML触发器可应用于同一修改语句;触发器可评估修改前后表状态,并根据差异采取措施

         类型:事前和事后触发;语句级触发和行级触发(每一行触发一次)

         性能开销很低,运行时间大部分引用其他表

DDL触发器

         数据定义时触发,用于审核和规范数据库操作,如create  alter drop 激发

         作用:防止对数据库的修改;记录数据库中的更改事件

        

视图

是一个虚拟表,内容由创建的select定义,数据库中只存储定义,数据引用时动态生成,更新时有限制

作用

保证基表安全性(为不同用户分组)、方便性(获得多个表间的复合信息)。

对于大量行进行复杂计算的视图,1)很少更新基础数据,则在视图上创建唯一聚集索引;2)经常更新基础数据,则不用视图;3)定期更新基础数据,在更新前删除所有索引视图,然后重新生成。

 

事务

主要用于原子性操作,在程序中设定事务的启动和回滚,通过加锁实现并发控制。应用程序不直接请求锁,由数据库自己管理。

锁:事务下访问一个数据对象时需要加锁

编写有效的事务

    在启动事务前,获取所有需要的用户输入

    尽可能使事务简短

    尽量使用只读事务

    尽可能使访问的数据量最小

索引

         实现快速查找,包含一列或多列形成的键,创建在有unique约束的列上

         分为聚集索引(排序存储)和非聚集索引。

         Primarykey和unique定义的列会自动创建索引。

设计(最常用查询的where)如下:

1.      索引过多,会影响insert update和delete

2.      为where和连接条件上的列创建非聚集索引

3.      当插入或修改记录时,使用delay_key_write暂停对索引刷新,等插入完后再进行

4.      限制:对具有多个重复值的列不要建立索引。 liek和RegExp第一个是通配符,不能使用索引

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值