数据库面试常见一些概念(2)
2018-04-07 18:55
369 查看
1:复习大纲
2:遗留概念相关解释
2.1:常用的sql语句
创建一个user表DROP TABLE IF EXISTS `user`;CREATE TABLE `user` (
`id` bigint(20) NOT NULL AUTO_INCREMENT,
`account` varchar(255) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
`address` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2.2:视图的概念
数据库通过select查询语句从多个表中提取多个表字段组成的虚表2.3:怎么去创建一个视图
Create view <视图名>[(<列名>)] AS<子查询> [WITH CHECK OPTION]例子:Create view F_Student(F_sno,name,sex,age,dept
)
AS
Select * From Student
Where Ssex='女'2.4:JDBC数据库链接(mysql) //1:加载驱动
Class.forName("com.mysql.jdbc.Driver");
//2:获取连接
Connection connection=DriverManager.getConnection("jdbc:mysql://localhost:3306/test?characterEncoding=UTF-8", "用户名", "密码");
//3:创建statement对象
Statement st=connection.createStatement();
//4:执行SQL语句
String sql="selete * from user";
ResultSet resultSet=st.executeQuery(sql);
//5:遍历查询
while (resultSet.next()) {
String id=resultSet.getString("id");
String name=resultSet.getString("name");
}
//关闭
resultSet.close();
connection.close();
2.5:JDBC连接Oracle
public static Connection getConnection(){ Connection conn=null; try { Class.forName("oracle.jdbc.driver.OracleDriver");//找到oracle驱动器所在的类 String url="jdbc:oracle:thin:@localhost:1521:wangzai"; //URL地址 String username="drp"; String password="drp"; conn=DriverManager.getConnection(url, username, password); } catch (ClassNotFoundException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return conn; }2.6:数据库引擎MylSam和InnoDB的区别 1:mylSam不支持事务,InnoDB支持,但mySam支持全局索引,而InnoDB不支持 2:查询和添加的时候mylSam不用考虑同步锁,效率更快.
3:Mysam不支持外键,InnoDB支持外键,但Mysam支持表锁,INnoDB支持事务(行锁)
2.7:数据库优化,分表
1:为什么分表
当数据达到百万级别的时候,mysql数据查询效率会变的非常底,分表能够很大程度减少这些压力
2:水平分表
2.1:按时间分表
这个有较强的时效性,比如微博发送信息,这种数据用户很少去查询几个月前的数据,我们就可以按照月来进行分表
2.2:区间范围分表
有严格的自增ID需求上,如按照user_id水平分表:
table_1 user_id从1~100w
table_2 user_id从101~200w
2.3:Hash分表
通过一个原始目标的ID或者名称通过一定的hash算法计算出数据存储表的表名,然后访问相应的表。
相关文章推荐
- 数据库面试常见一些概念(1)
- 数据库面试常问的一些基本概念
- 数据库面试常问的一些基本概念
- 数据库面试常问的一些基本概念
- 数据库面试常问的一些基本概念
- 数据库面试常问的一些基本概念
- 数据库面试常问的一些基本概念
- 数据库面试常问的一些基本概念
- 数据库面试常问的一些基本概念
- 数据库面试常问的一些基本概念
- 数据库面试常问的一些基本概念
- 数据库面试常问的一些基本概念
- 数据库面试常问的一些基本概念
- 数据库面试常问的一些基本概念
- 数据库常见的面试题
- 一些常见的C#面试问题和答案
- 数据库的一些常见面试题及其答案详解
- C#连接一些常见的数据库(sql,Access,Oracle,Sybase,DB2)
- 从面试开始_面试常见一些零散的问题
- Java的一些常见问题,JRE,JDK,JVM,包等概念理解