关于索引的那些事
来源:互联网 发布:python socket 多连接 编辑:程序博客网 时间:2024/05/21 11:01
学习数据库,必不可少的要熟知索引,这里,将各种索引总结比较一下。
(1)主索引:可确保字段中输入值的唯一性并决定了处理记录的顺序。可以为数据库中的每一个表建立一个主索引。如果某个表已经有了一个主索引,可以继续添加候选索引 .
(2)候选索引:像主索引一样要求字段值的唯一性并决定了处理记录的顺序。在数据库表和自由表中均可为每个表建立多个候选索引 .
(3)普通索引:也可以决定记录的处理顺序,但是允许字段中出现重复值。在一个表中可以加入多个普通索引.
(4)唯一索引:为了保持同早期版本的兼容性,还可以建立一个唯一索引,以指定字段的首次出现值为基础,选定一组记录,并对记录进行排序;如果想用这种方法选定字段,也许建立一个查询或视图会更好些 .
SELECT * FROM 表名
INSERT INTO表名(字段, 字段, …)
UpDATE表名SET (字段=值, 字段=值, …) WHERE (条件)
DELETE FROM 表名 WHERE (条件)
2、试解释COMMIT操作和ROLLBACK操作的语义。
COMMIT语句表示事务执行成功地结束(提交),此时告诉系统,数据库要进入一个新的正确状态,该事务对数据库的所有更新都已交付实施(写入磁盘)。
ROLLBACK语句表示事务执行不成功地结束(应该“回退”),此时告诉系统,已发生错误,数据库可能处在不正确的状态,该事务对数据库的所有更新必须被撤销,数据库应恢复该事务到初始状态。
3、如何估计一张表的大小(假设该表中有1万条数据)?
表的大小 = 所有属性的字节数之和 × 10000
1. 存储过程和函数的区别
存储过程是用户定义的一系列sql语句的集合,涉及特定表或其它对象的任务,用户可以调用存储过程,而函数通常是数据库已定义的方法,它接收参数并返回某种类型的值并且不涉及特定用户表。
2. 事务是什么?
事务是作为一个逻辑单元执行的一系列操作,一个逻辑工作单元必须有四个属性,称为 ACID(原子性、一致性、隔离性和持久性)属性,只有这样才能成为一个事务:
原子性 事务必须是原子工作单元;对于其数据修改,要么全都执行,要么全都不执行。
一致性事务在完成时,必须使所有的数据都保持一致状态。在相关数据库中,所有规则都必须应用于事务的修改,以保持所有数据的完整性。事务结束时,所有的内部数据结构(如 B 树索引或双向链表)都必须是正确的。
隔离性 由并发事务所作的修改必须与任何其它并发事务所作的修改隔离。事务查看数据时数据所处的状态,要么是另一并发事务修改它之前的状态,要么是另一事务修改它之后的状态,事务不会查看中间状态的数据。这称为可串行性,因为它能够重新装载起始数据,并且重播一系列事务,以使数据结束时的状态与原始事务执行的状态相同。
持久性 事务完成之后,它对于系统的影响是永久性的。该修改即使出现系统故障也将一直保持。
3. 游标的作用?如何知道游标已经到了最后?
游标用于定位结果集的行,通过判断全局变量@@FETCH_STATUS可以判断是否到了最后,通常此变量不等于0表示出错或到了最后。
4. 触发器分为事前触发和事后触发,这两种触发有和区别。语句级触发和行级触发有何区别。
事前触发器运行于触发事件发生之前,而事后触发器运行于触发事件发生之后。通常事前触发器可以获取事件之前和新的字段值。
语句级触发器可以在语句执行前或后执行,而行级触发在触发器所影响的每一行触发一次。
- 关于索引的那些事
- 数据库索引的那些事
- 索引图像的那些事啊
- 关于WAS的那些事....
- 关于foreach的那些事
- 关于成长的那些事
- 关于DOCTYPE的那些事
- 关于爱情的那些事。
- 关于http的那些事
- 关于年终奖的那些事
- 关于 DWR 的那些事
- 关于图片的那些事
- 关于补码的那些事
- 关于JSP的那些事
- 关于前端的那些事
- 关于多线程的那些事
- 关于cvScalar的那些事
- 关于cvAbsDiff的那些事
- thrift 安装 C++server 及PHP Client 测试Demo
- iOS Runtime详解(消息机制,类元对象,缓存机制,消息转发)
- Attribute在.net编程中的应用(一)
- MySQL中的MAX函数总结
- PendingIntent的内部机制
- 关于索引的那些事
- LightOJ 1247 Matrix Game
- docker学习笔记------简单操作docker容器
- 【java web】--JavaScript让计算器无需Switch和if else
- IOS网络请求图片失败原因及解决办法
- HDU 5052 Yaoge’s maximum profit(树链剖分——点权,区间合并)
- ios笔试题
- 软工文档概述(二)
- Java在命令行运行时的常见错误