作为一个两年的java开发者,从A公司跳槽到B公司,给大家总结一下我遇到的面试题目,并且从今天开始要总结自己掌握的东西分享给大家。
数据库
一.SQL索引及调优
索引
1.创建索引
Create UNIQUE INDEX index_name ON TableName(col_name)
2.索引类型
Single column 单行索引 Concatenated 多行索引
Unique 唯一索引 NonUnique 非唯一索引
Function-based 函数索引 Domain 域索引
Partitioned 分区索引 Nonpartitioned 非分区索引
3.索引的优缺点
优点:索引就是一种特殊的查询表,数据库的搜索可以利用它加速对数据库的检索。索引是唯一的,创建索引允许指定单个列或者是多个列。
缺点:减慢了数据录入的速度,同时增加了数据库的尺寸大小
SQL调优
1.尽量避免使用模糊搜索,否则会导致全表扫描
2.in和null慎用,否则会导致全表扫描
3.尽量避免在where子句中对字段进行null值判断,否则将导致全表扫描
4.尽量避免在where子句中用or来连接条件,否则将导致全表扫描
5.创建适量的索引
6.尽可能使用varchar代替char,节省存储空间
7.尽量避免频繁创建和删除临时表,以减少表资源的消耗。