MySql知识总结

LogicStriderX
• 阅读 931

1.如何设计一个关系数据库

MySql知识总结
分为两个模块:
1.存储(文件系统)模块:该部分类似于文件系统,把数据持久化到硬盘或者磁盘当中
2.程序实例
(1)存储管理模块:把逻辑的存储与物理的存储的关系转化
(2) 缓存机制:优化性能,可以缓存数据或者sql
(3)sql解析:将sql语句进行解析
(4)日志管理:记录日志,记录操作,便于主从复制等操作
(5)权限划分
(6)容灾机制
(7)索引管理:优化数据查询操作
(8)锁管理:支持并发

面试题(索引)

MySql知识总结
1.为什么要使用索引:
因为最简单的查询方式是全表扫描,把全表的数据分块或者分页加载到内存,然后逐个去轮询要查找的数据,如果数据量大的话,这种方式显然非常的慢,但是数据量少,几十行这样的这种数据,查询效率就比索引还要高。
索引的灵感来自于字典,通过偏旁和部首这种关键信息特征去查找我们所需的数据,显然要快的多,索引可以大大提高查询效率
2.什么样的信息能成为索引
主键,唯一键,普通键
3.索引的数据结构
这篇博客写的很好非常好:
https://mp.weixin.qq.com/s/zA...
MySql知识总结

B+树更利于做数据库索引的原因

MySql知识总结

MySql知识总结

索引建立得越多越好吗?

点赞
收藏
评论区
推荐文章
桃浪十七丶 桃浪十七丶
4年前
计算机组成原理3.7虚拟存储器
3.7.1虚拟存储器概念3.7.2页式存储器主存和Cache之间是分块映射存储,同样,利用局部性原理,也可以将主存和辅存之间进行分块映射存储。举个粒子,假如现在使用微信文字聊天,该部分程序占用大小了4KB的空间,那么可以分为大小位1KB的四块,分别映射存储到主存中。如下图,分页式存储,在这个问题中就是把程序进程逻辑上大小相等的四块页面,每个页面大小与主存块
xiguaapp xiguaapp
4年前
如何设计一个数据库?
设计两个大模块,存储(文件系统)与程序的实例模块。程序的实例模块划分为:存储管理,缓存机制,SQL解析,日志管理,权限划分,容灾机制,索引管理,锁管理。为什么使用索引?假设使用原始的全表查询,那么对于小量数据可能速度并没有影响,但是在大量数据的情况下会使得速度很慢。而索引,则类似于字典中的偏旁部首,加快了查询的效率。二叉
Easter79 Easter79
4年前
Sqoop的安装和配置以及Sqoop的基本操作
一、概述Sqoop是apache旗下一款“Hadoop和关系型数据库服务器之间传送数据”的工具。导入数据:把MySQL,Oracle数据导入到Hadoop的HDFS、HIVE、HBASE等数据存储系统;导出数据:从Hadoop的文件系统中导出数据到关系数据库mysql等!(http
Stella981 Stella981
4年前
Linux磁盘和文件系统扩容彻底研究
1.物理卷:_LVM逻辑卷的底层物理存储单元是一个块设备,比如一个分区或整个磁盘。要在LVM逻辑卷中使用该设备,则必须将该设备初始化为物理卷(PV)。_2.卷组:物理卷合并为卷组(VG)。这样就创建了磁盘空间池,并可使用它分配逻辑卷。3.逻辑卷:逻辑卷管理会根据物理存储生成提取层,以便创建逻辑存储卷。这样就比直接使用物理存储在很
Wesley13 Wesley13
4年前
MySQL数据库语法(一)
MySQL数据库语法数据库管理系统(DBMS)的概述1.什么是DBMS:数据的仓库  方便查询    可存储的数据量大    保证数据的完整、一致    安全可靠  1.DBMS的发展:今天主流数据库为关系型数据库管理系统(RDBMS使用表格存储数据)2.常见DBMS:Orcale、MySQL、SQLSer
Stella981 Stella981
4年前
Redis持久化存储详解(一)
为什么要做持久化存储?持久化存储是将Redis存储在内存中的数据存储在硬盘中,实现数据的永久保存。我们都知道Redis是一个基于内存的nosql数据库,内存存储很容易造成数据的丢失,因为当服务器关机等一些异常情况都会导致存储在内存中的数据丢失。持久化存储分类在Redis中,持久化存储分为两种。一种是aof日志追加的方式
Wesley13 Wesley13
4年前
MySQL 存储引擎(2)
首先我们带着下边三个问题来认识存储引擎存储引擎在MySQL中的作用是什么?MySQL都有哪些存储引擎SQL又与存储引擎有什么关系?存储引擎在MySQL中的作用是什么?顾名思义,存储引擎就是用于存储我们的数据的。在关系型数据库中我们一般将数据库存放在表中(Table)。我们可以把这个表理解成Excel电子表格
Stella981 Stella981
4年前
Memcached 缓存数据库应用实践
1.1数据库对比缓存:将数据存储到内存中,只有当磁盘胜任不了的时候,才会启用缓存  缺点:断电数据丢失(双电),用缓存存储数据的目的只是为了应付大并发的业务。数据库:mysql(关系型数据库,能够保证数据一致性,保证数据不丢失,当因为功能太多,导致性能不高)数据参考缓存数据库:me
Wesley13 Wesley13
4年前
2.4、Python文件对象及os、os.path和pickle模块(0530)
文件系统和文件1、文件系统是OS用于明确磁盘或分区上的文件的方法和数据结构即在磁盘上组织文件的方法;文件系统模块:os2、计算机文件(称文件、电脑档案、档案),是存储在某种长期储存设备或临时存储设备中的一段数据流,并且归属于计算机文件系统管理之下;3、概括来讲:文件是计算机中由OS管理的具有名字的存储区域;
程序员小五 程序员小五
1年前
融云IM干货丨IM服务消息推送,客户端版本更新后,如何确保消息不丢失?
确保客户端版本更新后消息不丢失,可以采取以下几种策略:消息持久化:确保消息被存储在可靠的存储介质中,如数据库或磁盘,这样即使客户端或服务端发生故障,消息也不会丢失。对于RabbitMQ等消息队列,需要开启持久化机制,将消息持久化到硬盘上,即使服务重启也能从
LogicStriderX
LogicStriderX
Lv1
夜闻归雁生乡思,病入新年感物华。
文章
3
粉丝
0
获赞
0