美文网首页
Oracle 面试题

Oracle 面试题

作者: 我的小猫不见了 | 来源:发表于2020-04-06 12:33 被阅读0次

1.如果定义了主键, 那么系统会自藕丁将主键建立索引, 如果没有 , 则会选择第一个非NULL 作为主键 , 如果还是没有 , 则会使用隐性的 ROWID , 此ROWID 不可像Oracle那样可以显示.

2.为什么索引可以提高效率

因为索引是有序的 , 不用没一个记录都去查找 , 二分法可以极速定位 .

3. 联合索引.

(a,b,c) 这种 , 三个键作为索引 , 也可以是a,b , 但是不可以b,c

4. 什么情况下不建或少建索引,

1.表记录太少
2.经常插入 , 删除, 修改的 表
3 . 字段重复值太多 , 一班不会建索引 , 但是可以考虑混合索引 .

5.什么是表分区? 和分表有什么区别 .

根据一定的规则, 把一张表拆分成很多小表 , 容易管理 , 但是底层却是由很多物理分区组成的.
分表则是由很多张表 .

6.表分区有什么好处.

分区表分布在很多不同的物理设备上 ,从而高效利用多个硬件设备.
和单个磁盘或者文件系统相比 , 可以存储多个数据.
2.优化查询 .其实类似于HDFS , 分而治之 , 尤其是对count , sun类型的处理

6. 一个表最多只能有1024个分区

7.MySQL支持的分区类型有哪些?

RANGE分区: 这种模式允许将数据划分不同范围。例如可以将一个表通过年份划分成若干个分区
LIST分区: 这种模式允许系统通过预定义的列表的值来对数据进行分割。按照List中的值分区,与RANGE的区别是,range分区的区间范围值是连续的。
HASH分区 :这中模式允许通过对表的一个或多个列的Hash Key进行计算,最后通过这个Hash码不同数值对应的数据区域进行分区。例如可以建立一个对表主键进行分区的表。
KEY分区 :上面Hash模式的一种延伸,这里的Hash Key是MySQL系统产生的

7.MySQL 优化.

为搜索字段建立索引
2.开启查询缓存 , 优化查询 ,
3.如果表太长 , 垂直分表
4.选择正确的存储引擎
5.如果只需要一部分或者一行数据 , 记得使用limit , 这样搜索到结果会立即停止继续遍历.

InnoDB 和 MyISAM
前者支持事物 , 后者不支持
前者不支持全文搜索 , 后者支持
5.5版本后默认是 InnoDB
涉及到大量增删改 , 使用前者InnoDB

相关文章

网友评论

      本文标题:Oracle 面试题

      本文链接:https://www.haomeiwen.com/subject/rhwvphtx.html