1.数据库建索引的目的?
确保唯一性,加快表之间的查询,加快索引速度,减少排序和分组的时间。
2.sql调优有哪些方法?
合理使用索引和分区表,观察执行计划,减少表连接。
3.如何进行数据库备份和还原?
备份:mysqldump
还原:MySQL,source
4.数据块坏了,快速修复有几种方法?
索引坏块损坏重建索引
物理上损坏通过备份恢复
没有备份屏蔽掉锁坏块拯救一部分数据
4.union 和union all有什么不同?
Union在进行表链接后会筛选掉重复的记录,所以在表链接后会队所产生的结果集进行排序运算,删除重复的记录再返回结果。最常见的就是过程表与历史表union。
Union all 就是简单的将两个结果合并后返回。这样,如果返回的结果里中有重复得数据,那么返回的结果集就会包含重复的数据了。
5.什么样的字段适合建是索引。
唯一、不为空、经常被查询的字段。
6.hash索引和B+树索引的特点?
Hash索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位。
B+树索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问。
7.索引的作用?优缺点?
索引就是一种特殊的查询表,数据库的搜索可以利用它加速对数据的检索。它很类似于现实生活中书的目录,不需要查询整本书内容就可以找到想要的数据。
索引可以是唯一的,创建索引允许指定单个列或是多个列。缺点是它减慢了数据录入的速度,同时也增加了数据库的尺寸大小。
8.Sql和 pl/sql有什么区别?
Sql是结构化查询语言。
Pl / sql 是procedural concepts编程语言。
9.什么是Collation?
Collation是一系列的规则用来检查数据是如何排序的。比如字符串数据是通过字符串的顺序,字符串的大小写敏感等等来排序的。
10.聚集索引与非聚集索引的区别?
聚集索引的物理存储按索引排序,非聚集所以的物理存储不按索引排序。
聚集索引插入,更新数据的速度比非聚集索引慢,单查询速度更快。聚集索引的叶级结点保存的是时间的数据项,而非聚集结点的叶级结点保存的是指向数据项的指针。一个表只能有一个聚集索引(因为只有一种排序方式),但可以有多个非聚集索引。
11.有几种类型的语句?
Ddl 数据定义语言,dml 数据管理语言,dcl 数据控制语言。
12.什么是 stored procedures? 如何使用?
Stored procedure 是一系列的 sql 语句,可以被当做函数来执行操作数据库。stored procedure 用来减轻网络负担并提高性能。
13.存储过程的优缺点?
优点:
存储过程是预编译过的,执行效率高。存储过程的代码直接存放于数据库中,通过存储过程名直接调用,减少网络通讯。安全性高,执行存储过程需要有一定权限的用户。存储过程可以重复使用,可减少数据库开发人员的工作量。
缺点:移植性差。
14.主键是什么?
数据库表中对储存数据对象予以唯一和完整标识的数据列或属性的组合。一个数据列只能有一个主键,且主键的取值不能缺失,即不能为空值(Null)。
15.什么是事务?什么是锁?
事务就是被绑定在一起作为一个逻辑工作单元的 SQL 语句分组,如果任何一个语句操作失败那么整个操作就被失败,以后操作就会回滚到操作前状态,或者是上有个节点。为了确保要么执行,要么不执行,就可以使用事务。要将有组语句作为事务考虑,就需要通过 ACID 测试,即原子性,一致性,隔离性和持久性。
锁:在所以的 DBMS 中,锁是实现事务的关键,锁可以保证事务的完整性和并发性。与现实生活中锁一样,它可以使某些数据的拥有者,在某段时间内不能使用某些数据或数据结构。当然锁还分级别的。