数据库
.Passion
欢迎来看我的博客 ,原博客地址: https://www.cnblogs.com/lyr-2000/
现决定重新启用博客园的博客,一部分比较浅的笔记将写到这个博客上
欢迎打扰,另外,个人博客网站也搭建成功,欢迎打扰:
https://lyr-2000.github.io/
展开
-
数据库索引失效常用案例
1、条件字段选择性弱,查出的结果集较大,不走索引;2、where条件等号两边字段类型不同,不走索引;3、优化器分析的统计信息陈旧也可能导致不走索引;4、索引字段 is null 不走索引;5、对于count(*)当索引字段有not null约束时走索引,否则不走索引;6、like 后面的字符当首位为通配符时不走索引;7、使用不等于操作符如:<>、!= 等不走索引;8、索引字段前加了函数或参加了运算不走索引;...原创 2021-01-21 16:17:31 · 164 阅读 · 0 评论 -
SQL 场景之 触发器
当实现一些系统约束时,或在实现系统维护及针对操作数据的更新时,使用触发器都非常方便。在之胶我们介绍了MySQL触发器不适合做的一些工作,但MySQL触发器在以下一些应用场景中,会非常实用:基于行数据变更的日志记录。如:在用户订单系统中,我们可以基于用户订单数据状态的改变,使用触发器构建用户订单日志表数据。基于行数据变更的关系数据的更新。如:用户订单改变至付款或相关状态时,我们可以基于用户订单数据状态的改变,使用触发器改变用户会付款或相应状态信息。基于行数据变更的数据汇总。如:用户订单成交或失败,我们可原创 2020-11-03 16:39:59 · 388 阅读 · 0 评论 -
sql 场景总结: 更改表
题目描述存在actor表,包含如下列信息:CREATE TABLE IF NOT EXISTS actor (actor_id smallint(5) NOT NULL PRIMARY KEY,first_name varchar(45) NOT NULL,last_name varchar(45) NOT NULL,last_update timestamp NOT NULL DEFAULT (datetime(‘now’,‘localtime’)));现在在last_update后面新增加原创 2020-11-03 16:34:48 · 65 阅读 · 0 评论 -
sql 场景之 强制使用索引
针对salaries表emp_no字段创建索引idx_emp_no,查询emp_no为10005, 使用强制索引。CREATE TABLE salaries (emp_no int(11) NOT NULL,salary int(11) NOT NULL,from_date date NOT NULL,to_date date NOT NULL,PRIMARY KEY (emp_no,from_date));create index idx_emp_no on salaries(emp_no)原创 2020-11-03 16:32:11 · 378 阅读 · 0 评论 -
sql场景之,建立索引,建立视图
题目描述针对如下表actor结构创建索引:(注:在 SQLite 中,除了重命名表和在已有的表中添加列,ALTER TABLE 命令不支持其他操作)CREATE TABLE IF NOT EXISTS actor (actor_id smallint(5) NOT NULL PRIMARY KEY,first_name varchar(45) NOT NULL,last_name varchar(45) NOT NULL,last_update timestamp NOT NULL DEFAU原创 2020-11-03 16:23:16 · 157 阅读 · 0 评论 -
mysql场景题目1:
create table actor_name( first_name varchar(45) not null, last_name varchar(45) not null);insert into actor_name select first_name,last_name from actor;原创 2020-11-03 16:19:50 · 232 阅读 · 0 评论 -
mysql 必知#1. replace into
场景题:对于表actor批量插入如下数据,如果数据已经存在,请忽略(不支持使用replace操作)CREATE TABLE IF NOT EXISTS actor (actor_id smallint(5) NOT NULL PRIMARY KEY,first_name varchar(45) NOT NULL,last_name varchar(45) NOT NULL,last_update timestamp NOT NULL DEFAULT (datetime(‘now’,‘loca.原创 2020-11-03 16:13:22 · 161 阅读 · 0 评论 -
#实用#powerdesigner指定int字段自增并且unsigned
原创 2020-08-14 14:22:38 · 526 阅读 · 0 评论 -
#实用#逆向工程#原生mybatis
mybatis逆向工程mybatis: mapper-locations: classpath:/mapper/**/*.xml type-aliases-package: com.example.demo.pojo configuration: map-underscore-to-camel-case: truespring: datasource: url: jdbc:mysql://127.0.0.1:3306/blog?useUnicode=true&ch原创 2020-08-14 13:55:45 · 84 阅读 · 0 评论 -
#实用#封装一个获取数据库信息的工具类
package com.lyr.autocode_v3.common.core.db.entity;import lombok.Data;import java.util.Collections;import java.util.List;import java.util.stream.Collectors;/** * @Author lyr * @create 2020/8/3 1:53 */@Datapublic class Table { /** * 数据库原创 2020-08-13 14:09:59 · 152 阅读 · 0 评论 -
#实用#jdbcTemplate 获取数据库的表名 和 信息
获取数据库的所有表的名字 /** * 获取数据库的所有表的名字 */ @Test public void sss(){ // DataSource dataSource; JdbcTemplate jd = new JdbcTemplate(getDataSource()); List<Map<String, Object>> ll = jd.queryForList("select ta.原创 2020-08-13 11:40:46 · 3906 阅读 · 0 评论 -
#底层#jdbc操作数据库
String dbUrl = "jdbc:mysql://127.0.0.1:3306/blog?useUnicode=true&characterEncoding=utf8"; Connection getConnection() throws ClassNotFoundException, SQLException { Properties props = new Properties(); props.put("remarksReporting",..原创 2020-08-13 00:36:47 · 118 阅读 · 0 评论 -
oracle#期末复习#存储结构
数据文件: 课通过数据字典视图dba_data_files 或者 v$datafile查看数据信息,所有数据文件大小的和构成数据库大小,可以分为临时数据文件和永久数据文件(用户无法决定存储用户数据到哪个文件,由 Oracle决定)控制文件: 记录数据库结构信息的二进制文件,Oracle系统读写操作,根据初始化参数文件中的control_files 找到控制文件,根据控制文件的信息,加载数据文件和重做日志文件,最后才打开数据库。### 数据库至少需要一个控制文件,控制文件坏了,数据库无法启动对应的..原创 2020-06-23 18:26:10 · 210 阅读 · 0 评论 -
mysql 优化总结1
1.用 explain 语句,如图:子查询案例:数据库表如图1.idexplain 得到的 select的序列号,叫做 id 。MySQL将 select 查询分为简单查询(SIMPLE)和复杂查询(PRIMARY)。复杂查询分为三类:简单子查询、派生表(from语句中的子查询)、union 查询。id列越大执行优先级越高,id相同则从上往下执行,id为NULL最后执行。2. select_typeexplain得到的 select_type 表示对应行时简单还是复杂的查询.sim原创 2020-06-06 17:03:15 · 126 阅读 · 0 评论 -
什么是弱实体
弱实体的相关概念相关文章1相关文章2一篇比较好的讲解弱实体的博客比如用户 和消费记录, 消费记录的 id 和 用户的 id 做成联合主键 唯一标识消费记录 这个实体,那么 消费记录是依附于用户实体而存在的,(先有用户,才有消费记录) 所以消费记录是弱实体,而用户则是强实体。强实体和弱实体一般是 1:N 或者 1:1 的关系,弱实体依赖强实体而存在(依赖强实体的主键)...转载 2020-05-18 20:03:34 · 4340 阅读 · 0 评论 -
Oracle 表空间管理
表空间的可用性是指表空间脱机或联机操作。除了 SYSTEM表空间、存放在线回退信息的撤销表空间和默认临时表空间不可以脱机外,其它的表空间都可以设置为脱机状态将某个表空间设置为脱机状态时,属于该表空间的所有数据文件都处于脱机状态。可以使用ALTER TABLESPACEOFFLINE/ONLINE将表空间脱机/联机。修改表空间的读写性满足下列条件的表空间才可以设置为只读状态表空间必须处于联机状态表空间中不能包含任何活动的回退段。系统表空间 SYSTEM、辅助系统表空间 SYSAUX、原创 2020-05-16 01:31:42 · 1061 阅读 · 0 评论 -
Oracle数据字典
Oracle数据字典保存数据库本身的系统信息及所有数据库对象信息,包括:■各种数据库对象的定义信息,包括表、视图、索引同义词、序列、存储过程、函数、包、触发器及其他各种对象;■数据库存储空间分配信息,如为某个数据库对象分配了多少空间,已经使用了多少空间等;■数据库安全信息,包括用户、权限、角色、完整性等;■数据库运行时的性能和统计信息;■其他数据库本身的基本信息。数据字典的主要用途包括:■ Oracle通过访问数据字典获取用户、模式对象、数据库对象定义与存储等信息,以判断用户食限的合原创 2020-05-15 15:06:51 · 219 阅读 · 0 评论 -
Oracle索引设计原则
索引设计原则导入数据后再创建索引立在适当的表和字段上创建索引经香查询的记录数目少于表中所有记录总数的5%时就应当创建索引;经常进行连接查询表时,在连接列上建立索引能够显著提高查询的速度;对于取值范围很大的列应当创建B树索引于取值范围很小的列应当创建位图索引不能在LONG, LONG RAW,LOB数据类型的列上创建索引;Oracle会自动在 PRIMARY KEY和 UNIQ...原创 2020-05-07 11:05:55 · 412 阅读 · 0 评论 -
数据库 三范式
三大范式第一范式原子性: 保证每一列不可再分第二范式前提: 满足第一范式然后每张表只描述一件事情第三范式满足前面两个范式的基础上,确保数据表中的 每一列数据都和主键直接相关,不能间接相关规范性 和性能的问题:关联查询的表不能超过 3张表mysql 关联查询在规范性能问题的时候,需要适量考虑规范性(考虑商用的性能)故意给某些增加一些冗余字段(从多表中变单表查询...原创 2020-04-27 20:06:07 · 138 阅读 · 0 评论 -
Oracle的实例和 shutdown命令
shutdown命令的几种形式:原创 2020-03-10 21:13:45 · 428 阅读 · 0 评论 -
Oracle 网络体系结构
@oradb.worldoradb.world 就是服务器的网络服务名启动时登录Oraclesqlplus sys/ oracle as sysdba启动时不登录 Oraclesqlplus /nologsys必须以 sysdba进行登录, 所以必须加 as sysdba连接命令:connect[username]/[password][@hoststring...原创 2020-03-10 20:41:55 · 166 阅读 · 0 评论 -
mysql 事务
mysql中查看事务的隔离级别:命令:select @@tx_isolation;其中,事务隔离级别有4个等级Serializable: 可以解决所有问题,但是会锁表Repeatable read: 可以解决脏读,和不可重复读,但是不能解决虚读read commited: 只能解决脏读,其他均无法解决read uncommitted: 最低级别,均无法解决如果不考虑事务的隔离性会...原创 2019-11-10 02:12:34 · 112 阅读 · 0 评论 -
Oracle入门1
以下是一些基本的命令,总结下来方便自己参考1.创建一个用户表(t_user),表结构如下:字段名称 类型 描述user_id NUMBER(10) 用户编号user_name VARCHAR2(30) 用户名称password VARCHAR2(30) 密码sex VARCHAR2(10) 性别province VARCHAR2(20) 省份city ...原创 2019-09-07 18:15:31 · 179 阅读 · 0 评论