- 概念:可视化的表,视图当做是一个特殊的表,把sql执行的结果,直接缓存到视图当中,下次发起相同sql,直接查视图。
- 优点:提高了sql的复用率。
- 缺点:占用内存,无法被优化
- sql的执行顺序:
- from table :选择表
- On:连接条件
- Join:连接表
- Where:条件过滤
- Group by :分组
- AGG_FUNC:聚合
- Having:分组过滤
- Distinct :选择字段,去重
- Order by:排序
- Limit:分页
- sql优化
- 查询sql尽量不要使用select *,而是具体字段
- 避免在where子句中使用or来连接条件
- 使用varchar 代替 char
- 尽量使用数值替代字符串类型
- 查询尽量避免返回大量的数据
- 使用explain分析sql执行计划
- 创建name字段的索引
- 优化like语句
- 字符串加上引号,不要直接使用数字
- 索引不宜太多,一般5个以内
- 索引不适合建在有大量重复数据的字段上
- Where限定查询的数据
- 避免在where中对字段,进行表达式操作
- 避免在where子句中使用!=或 < >等操作
- 去重distinct过滤字段要少
- JDBC
- 概述:全称是java database connectivity 专门用来通过java程序操作数据库,JDBC还是一套标准。
- 实现思路:
- 注册驱动
Class.for name(“com.mysql.jdbc.Driver”)
- 连接
String url = “传输协议//数据库ip/库名;
Connection c = DriverManger.getconnection(“url”, ”root”, ”root”);
- 获取传输器
PreparedStatement
(4)设置骨架,也叫占位符(?)
(5)设置参数
(6)获取结果集
(7)关闭结果集,传输器,连接。