数据库知识

       关系型数据库:musql,oracle,sql server

                1.1:关系型数据库:是指才有关系模型来组织数据库的数据。以行和列的方式存储数据

                        一系列的行+列存储的数据 构成一张表

                        多张表构成一个数据库。

                1.2:特点:

                                1:结构化方式存储数据库

                                2:标准的结构化查询语句,标准的CRUD

                                3:事务性。遵循ACID(原子性,一致性,隔离性,持久性)

                1.3:存储引擎:

                        在创建表的时候数据库的存储引擎是可以选择的,默认是InnoDB。存储引擎就是表的类型。数据库的存储引擎决定了表在计算机中的存储方式。不同的存储引擎提供了不同的存储机制,索引机制,锁定水平等功能。

        注:在创建数据表时,要根据业务的实际需要,选择不同的存储引擎。

                如配置表,用户表。这两个表存储引擎相同吗?

                配置表信息:一般是在项目启动的时候读取一次,在项目运行过程中,一般不会去修改配置表。

                用户表:项目启动时,不会读取表数据,但是在项目运行过程中,随时都有可能修改。

        所以:因为他们的使用场景不一样,在创建表的时候选择的存储引擎是也不一样的。

总结:类似于配置表的 一般在创建表时 会选择MyISAM存储引擎

        类似于用户表的一般在创建表的时候会选择InnoDB存储引擎。

               MyISAM存储引擎:

                        1:在mysql数据库5.5版本以及以前是默认的存储引擎

                       :2:追求存储数据的"速度"。存储数据可能不准 如数据会串。

                        3:锁:表锁

                        4:索引:支持B树索引,哈希索引。

                InnoDB:

                        1:在mysql数据库5.5版本以后是默认的存储引擎。

                       :2:追求存储数据的准确性,事务一致性。

                        3:锁:行锁 (只锁一行,别的行不管)

                        4:索引:支持B树索引

1.4:索引 

                是一种数据结构,用于帮助我们在大量数据中快速查询数据的

                建索引的目的是为了提升查询数据的速度的。但是建了所以不一定能提升查询的速度的。

                       注:建立索引 只能提升查询速度,但是会降低 修改速度。

                                建立索引对数据量大的表是有效果的 对数据里小的表是没有什么效果的。

                索引的类型:

                        主键索引:primary key  有且仅有一个

                        唯一索引:不可重复但是可以存null

                        复合索引:由表的多列按顺序组合成索引。

                        

       1.5:sql语句:

 sql执行过程:

select 的解析过程:

        1:from 表  数据源中捞取数据

        2:where 条件  对捞取的数据进行条件过滤

        3:group by 分组

                3.1:根据上面的条件字段来分组  --建议使用where条件字段

                3.2:不按照上面的条件字段来分组  ----会产生临时表

        4:having  分组过滤

        5:select 字段 

        6:order by ---建议使用select字段排序

        7:limit 数据量分页 

查看慢查询sql:

        show variables ----查看数据库的配置信息

        show variables like 'slow%'  --查看慢查询相关的配置

                slow_query_log OFF 慢查询是关的

                slow_query_log_file  慢查询开启后日志存放的路径

        show variables like '%long_query_time%' 查看慢查询的配置的阈值是多少。单位是秒

        show variables like 'max_connections%'  查看系统配置的最大连接数。

        show global status like 'Max_used_connections' 查看当前用户已经建立的连接数。

定位慢查询日志

        1:要开启慢查询的开关。(因为数据库中慢查询的日志一般是关闭的。因为慢查询开启后要写日志 消耗数据库的IO.)

        2:找到配置文件,修改阈值。

sql优化

 

        二:非关系型数据库:redis,Mongo DB

                表与表之间是没有关联关系的,数据与数据之间是额米有关联关系的。

redis:

        key-value 形式的非关系型数据。

                value 的类型有典型的五种:

                        1:字符串

                        2:列表

                        3:哈希

                        4:集合

                        5:有序集合

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值