![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据库
摸森堡
这个作者很懒,什么都没留下…
展开
-
MYSQL的引擎
1、MySQL引擎MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。数据库引擎是用于存储、处理和保护数据的核心服务。利用数据库引擎可控制访问权限并快速处理事务,从而满足企业内大多数需要处理大量数据的应用程序的要求。使用数据库引擎创建用于联机事务处理或联机分析处理数据的关系数据库。这包括创建用于存储数据的表和用于查看、管理原创 2020-08-04 21:32:42 · 77 阅读 · 0 评论 -
MYSQL联结表
连接条件使用on子句而不是WHERE子句,但功能实际相同内联inner join 、左联left outer join 、右联right outer join 、全联full outer join第一:内联(inner join)。显示两个表中符合条件的结果。SQL语句:select * from T1 inner join T2 on T1.userid=T2.userid第二:左联(left outer join)。显示左表T1中的所有行,并把右表T2中符合条件加到左表T1中;右表T2中不符原创 2020-08-03 15:52:46 · 242 阅读 · 0 评论 -
SQL优化
1.在经常性的检索列上,建立必要索引,以加快搜索速率,避免全表扫描(索引覆盖扫描);2.多次查询同样的数据,可以考虑缓存该组数据;3.审视select * form tables, 你需要所有列数据吗?4.切分查询(大查询切分成为小查询,避免一次性锁住大量数据)5.分解关联查询(单表查询,结果在应用程序中进行关联,可以减少处理过程中的锁争用)6.尽量先做单表查询;...原创 2020-08-01 17:26:10 · 84 阅读 · 0 评论 -
数据库的索引和事务
索引1、索引数据库索引是为了增加查询速度而对表字段附加的一种标识,是对数据库表中一列或多列的值进行排序的一种结构。DB在执行一条Sql语句的时候,默认的方式是根据搜索条件进行全表扫描,遇到匹配条件的就加入搜索结果集合。如果我们对某一字段增加索引,查询时就会先去索引列表中一次定位到特定值的行数,大大减少遍历匹配的行数,所以能明显增加查询的速度。优点:通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。可以大大加快数据的检索速度,这也是创建索引的最主要的原因。可以加速表和表之间的连接,特别是原创 2020-08-01 17:22:56 · 258 阅读 · 0 评论 -
数据库的隔离
同一时间,只允许一个事务请求同一数据,不同的事务之间彼此没有任何干扰。比如A正在从一张银行卡中取钱,在A取钱的过程结束前,B不能向这张卡转账。不同的隔离级别:Read Uncommitted(读取未提交):最低的隔离级别,什么都不需要做,一个事务可以读到另一个事务未提交的结果。所有的并发事务问题都会发生。Read Committed(读取提交内容):只有在事务提交后,其更新结果才会被其他事务看见。可以解决脏读问题。Repeated Read(可重复读):在一个事务中,对于同一份数据的读取结果总是相同原创 2020-08-01 17:09:20 · 93 阅读 · 0 评论 -
数据库的三大范式
范式是符合某一种设计要求的总结。要想设计一个结构合理的关系型数据库,必须满足一定的范式。各范式特点:第一范式:保证列的原子性,保证列不可再分。第二范式:唯一性 ;一个表只说明一个事物;有主键且非主键依赖主键;(限制多对多的关系,建立一个关联表,通过外键和联合主键来关联两张表)第三范式:每列都与主键有直接关系,不存在传递依赖;(限制一对多的关系,在从表中建立一个外键,通过外键来引用主表的信息)...原创 2020-08-01 12:53:19 · 296 阅读 · 0 评论 -
MYSQL学习笔记
#SELECT的用法select检查单列,多列(列名之间以逗号分隔),所有列(列名用星号*通配符来代替),检索不同的行(列名前加关键字distinct),限制结果(limit 3,4从第3行开始返回4行,第一行是0,默认从第一行开始)及完全限定的表名。#排序检索数据select返回的数据并没有特定的顺序,使用order by可以进行升序排列;order by后面可以由多个列名,先对第一列进行排序,在第一列相同的情况下按第二列排序。想要降序可在要降序的列名后加DEC关键字,DEC只作用于单列。#过滤数原创 2020-07-29 15:52:41 · 104 阅读 · 0 评论 -
常见的nosql数据库
noSQL数据库其实有很多:基于K-V:Redis, Voldemort, Oracle BDB基于列存储:Cassandra, HBase, Riak.基于文档型:CouchDB, MongoDB原创 2020-07-28 21:33:33 · 258 阅读 · 0 评论 -
数据库空值和NULL的概念
“空值” 和"NULL"的概念:1:空值(’’)是不占用空间的,判断空字符用 = ‘’ 或者 <> ‘’ 来进行处理;2: NULL值是未知的,且占用空间,不走索引;判断 NULL 用 IS NULL 或者 is not null , SQL 语句函数中可以使用 ifnull ()函数来进行处理.注:在进行 count ()统计某列的记录数的时候,如果采用的 NULL 值,会别系统自动忽略掉,但是空值是统计到其中...原创 2020-07-28 21:24:44 · 4346 阅读 · 0 评论 -
关系数据库事务的特性
关系型数据库遵循ACID规则事务在英文中是transaction,和现实世界中的交易很类似,它有如下四个特性:1、A (Atomicity) 原子性原子性很容易理解,也就是说事务里的所有操作要么全部做完,要么都不做,事务成功的条件是事务里的所有操作都成功,只要有一个操作失败,整个事务就失败,需要回滚。比如银行转账,从A账户转100元至B账户,分为两个步骤:1)从A账户取100元;2)存入100元至B账户。这两步要么一起完成,要么一起不完成,如果只完成第一步,第二步失败,钱会莫名其妙少了100元。2转载 2020-07-28 21:18:23 · 409 阅读 · 0 评论 -
数据库的对象
数据库对象是数据库的组成部分,常见的对象有:表、索引、视图、图表、默认值、规则、触发器、存储过程、用户、序列等。表(Table)数据库中的表与日常生活中使用的表格类似,由行(Row)和列(Column)组成。其中列由同类的信息组成,每一列又称为一个字段,每列的标题称为字段名。行包括了若干列的信息项。一行数据称为一个或一条数据,它表达有一定意义的信息组合。一个数据库表由一条或多条记录组成,没有记录的表称为空表。索引(Index)索引是根据指定是数据库表列建立起来的顺序。它提供了快速访问数据的途径,并且转载 2020-06-28 20:54:33 · 2501 阅读 · 0 评论 -
mysql垂直分区和水平分区
它是一种物理数据库设计技术,MySQL数据库默认使用水平分区。2.1 水平分区:对表的行进行分区,不同分组中物理分隔的数据组合在一起,表中的所有列都可以在每个分区找到,维持了表的属性结构。2.2 垂直分区:把某些特定的列划分到特定的分区,减少表的宽度,每个分区都保存了其中列所在的行。分区模式:range:按某个或某些列的范围划分,如年份hash:根据某些列的hash值进行分区划分,比如海量数据的去重聚合key:也是hash,不过使用系统的hash函数list:自定义某列的属性值范围,落在这些值原创 2020-06-23 11:38:46 · 392 阅读 · 0 评论 -
数据库的约束
五大约束1.—-主键约束(Primay Key Coustraint) 唯一性,非空性2.—-唯一约束 (Unique Counstraint)唯一性,可以空,但只能有一个3.—-检查约束 (Check Counstraint) 对该列数据的范围、格式的限制(如:年龄、性别等)4.—-默认约束 (Default Counstraint) 该数据的默认值5.—-外键约束 (Foreign Key Counstraint) 需要建立两表间的关系并引用主表的列SQL CHECK 约束CHECK 约束原创 2020-06-23 11:05:20 · 178 阅读 · 0 评论