码迷,mamicode.com
首页 > 数据库 > 详细

数据库相关

时间:2015-03-20 10:43:10      阅读:144      评论:0      收藏:0      [点我收藏+]

标签:

数据库事务:一个程序执行单元
ACID特性:
atomicity原子性:事务的所有操作在数据库中要么全部反应,要么全部不反应
consistency一致性:隔离(无并发)执行事务时保持数据库的一致性
isolation隔离性:每个事务感觉不到其他事物在并发地执行
durability持久性:一个事务完成后,保证对数据库的修改是永久的

数据库查询优化:怎么做?建立索引,索引的类型?B+树和Hash? 有关排序用哪个?why?

数据库查询优化方面:
1 SQL查询语句的重写,对于一个查询可以用多种查询语句实现,但不同查询语句的数据库执行计划是不同的,一旦不能够使 
用索引或造成较大的内存占用会导致性能下降,因此需要对查询语句进行重写优化,最典型的例子就是not in语句使用外连 
接方式实现来进行优化
2 创建合理的索引结构,根据查询语句的中查询条件,在关系表上建立相应的索引,如B+树索引和hash索引
3 修改程序业务逻辑,有些功能如果使用SQL语句实现,不但SQL语句复杂,还将导致数据库的负担增加,因此可以将有些数据 
操作的业务逻辑放到应用层进行实现,就是通过java编程实现
4 修改数据库服务器相关参数,优化服务器性能


索引的类型:
顺序索引:基于值的顺序排序
散列索引:由Hash函数决定一个值对应的地址

索引方法 当创建索引时指定索引类型,BTREE 或 HASH
B+树:一百万的搜索码一次查询只要访问log50(1000 000)=4个结点,最多读4个磁盘块,一般是一个结点占一个磁盘块
Hash:搜索码到存储地址的映射
B+树:范围查询
Hash:等值查询 (包括= <> 和in)<>是不相等
in:测试元组是否是集合中的成员
select a from A
where a in (select a from B)

散列索引是根据HASH算法来构建的索引,所以检索速度很快,但不能范围查询。
Hash 索引遇到大量Hash值相等的情况后性能并不一定就会比B-Tree索引高

数据库并发,缓存机制的理解 用户1000个,数据库200个连接?。。。(应该是指要实现并发地执行SQL语句

定义表索引的类型。
Normal NORMAL 索引是最基本的索引,并没有限制,如唯一性。
Unique UNIQUE 索引和 NORMAL 索引一样,只有一个差异 - 索引列的全部值必须只出现一次。
Full Text FULL TEXT 索引用于 MySQL 全文搜索。

数据库视图的概念:视图是原始数据库数据的一种变换,是查看表中数据的另外一种方式。可以将视图看成是一个移动的窗口 ,通过它可以看到感兴趣的数据。

数据库相关

标签:

原文地址:http://www.cnblogs.com/gaoxiangde/p/4352917.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!