笑笑酱数据分析

MySQL优化数据库的方法

2019-07-16  本文已影响0人  Aedda

数据库三大规范式?

数据库事务?

事务:指作为单个逻辑工作单元执行的一系列操作,要么全执行要么全不执行

 事务四个特性(ACID):
  原子性
  一致性
  隔离性
  持久性

  事务放到我们的业务逻辑中来处理,不能等到数据库那一关。

  事务的并发:

�       可以提高服务器资源利用的

        造成的问题:脏读,幻读,不可重复,读丢失更新

        解决事务并发产生的问题:

        设定隔离级别

        四个级别:读取未提交,读取已提交(推荐设置这个级别),可重复读,串行化,四个级别从上往下越来越高的

        使用场景:主要是对于数据库有副作用的一些操作。也就是增删改的操作。


什么是视图?

从一个或几个基本表(或视图)中导出的虚拟的表。在系统的数据字典中仅存放了视图的定义,不存放视图对应的数据。

什么是约束?

约束是在表中定义的用于维护数据库完整性的一些规则

通过为表中的列定义约束可以防止将错误的数据插入表中,也可以保持表之间数据的一致性

若某个约束条件只作用于单独的列,可以将其定义为列约束也可定义为表约束;

若某个约束条件作用域多个列,则必须定义为表约束

表约束通常放在最后一个列定义的后面

什么是索引?

索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。

什么是序列化?

序列化 (Serialization)是将对象的状态信息转换为可以存储或传输的形式的过程

什么是触发器?

触发器(trigger)是SQL server 提供给程序员和数据分析员来保证数据完整性的一种方法,是一种特殊类型的存储过程,它是与表事件相关的特殊的存储过程,它的执行不是由程序调用,也不是手工启动,而是由事件来触发。

什么是存储过程?

存储过程(Stored Procedure)是在大型数据库系统中,一组为了完成特定功能的SQL 语句集,存储在数据库中,经过第一次编译后调用不需要再次编译,用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是数据库中的一个重要对象。

什么是物化视图?

物化视图是包括一个查询结果的数据库对象,它是远程数据的的本地副本,或者用来生成基于数据表求和的汇总表。物化视图存储基于远程表的数据,也可以称为快照(类似于MSSQL Server中的snapshot,静态快照)。对于复制,物化视图允许你在本地维护远程数据的副本,这些副本是只读的。如果你想修改本地副本,必须用高级复制的功能。当你想从一个表或视图中抽取数据时,你可以用从物化视图中抽取。对于数据仓库,创建的物化视图通常情况下是聚合视图,单一表聚合视图和连接视图。(这个是基于本地的基表或者视图的聚合)。物化视图,说白了,就是物理表,只不过这张表通过oracle的内部机制可以定期更新,将一些大的耗时的表连接用物化视图实现,会提高查询的效率。当然要打开查询重写选项;

什么是视图?

视图是指计算机数据库中的视图,是一个虚拟表,其内容由查询定义。同真实的表一样,视图包含一系列带有名称的列和行数据。
但是,视图并不在数据库中以存储的数据值集形式存在。行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成。

什么是分区表?

分区表是将大表的数据分成称为分区的许多小的子集,类型有FAT32,NTFST32,NTFS。另外,分区表的种类划分主要有:range,list,和hash分区。划分依据主要是根据其表内部属性。
同时,分区表可以创建其独特的分区索引。倘若硬盘丢失了分区表,数据就无法按顺序读取和写入,导致无法操作。

什么是笛卡尔乘积?

笛卡尔乘积是指在数学中,两个集合X和Y的笛卡尓积(Cartesian product),又称直积,表示为X × Y,第一个对象是X的成员而第二个对象是Y的所有可能有序对的其中一个成员 [1]  。

什么是数据表?

数据表有两种含义,一是指数据库最重要的组成部分之一,二是指电子元件,电子芯片等的数据手册(datasheet)。

数据表一般为产品或资料提供一个详细具体的数据资料,方便人们使用和工作时能够清楚方便的获得相应的数据信息。

内连接和外连接的区别?

1、内连接(自然连接): 只有两个表相匹配的行才能在结果集中出现

2、外连接: 包括

(1)左外连接(左边的表不加限制)

(2)右外连接(右边的表不加限制)

(3)全外连接(左右两表都不加限制)

union和union all的区别?

union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。

什么情况会遇到 单行子查询返回多行 的错误提示?

查询出来多于一个值,条件判断的话必须用单个值才行
  1. 先用5升的水壶装满水,倒入六升的水壶中.六升的水壶中还空出 一升水体积.
  2. 再用把盛五升水水壶装满水,倒入容积六升的水壶中,壶中还剩4升水.
  3. 把容积六升水中的水倒掉,再把容积五升的水壶倒满水,把这些水倒入容积六升的壶中,容积五升的水壶中这时刚好剩下三升水.
上一篇下一篇

猜你喜欢

热点阅读