MYSQL的存储所运用的数据结构是什么?

各位大牛好,可能我的问题描述还不特别清楚,这和我还是一个数据库萌新有关。
近期看了一篇文章是关于数据库的工作原理的,其中提到了两种数据库的数据结构一种是阵列,一种是哈希表,我想请问各位大牛mysql db在磁盘上存储是如何存储的呢?是阵列还是哈希表存储呢??

3个回答

mysql是按行存储的,它是一个百万级数据库,数据应该是以索引的形式存储的,在内存地址上的具体存储形式应该与你安装的MySQL驱动引擎有关系。不是什么大牛,不太懂。

mysql的存储引擎有很多种, 不同的存储引擎存储的方式也会有差别, 所以不能局限于MySQL数据库是如何存储的, 一般的存储引擎使用的是B树(B-树)B+树,
MyISAM存储引擎表有三个文件:索引文件(.MYI),表结构文件(.frm),数据文件(.MYD),采用非聚集索引:即索引文件和数据文件是分开的,索引文件的数据域存储指向数据文件的指针

说起来就多了 可以Mysql要学好 先去了解一下主流的存储引擎 比如:MyISAM 和 InnoDB

最底层还是2进制-逻辑结构是 heapfile-内存逻辑结构b树

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
Mongodb 的问题:谁能拿mysql说简单说一下Mongodb 数据结构是什么样子的

看过介绍只知道Mongodb 的数据是用json现在文件里的。 但是还是不懂, 谁能帮忙把关系型数据库分别在Mongodb对应的是什么大概类比一下就可以。 我知道不是一种东西,但是如果都是存放数据,可以说明下mysql是怎么存的,Mongodb是怎么做的。 谢谢。

mysql 存储过程统计数据

前提: 1.每天一张表,表名+日期,例如:mysql20170607 2.表字段:callrecode 通话结果 1 成功 2 不成功 实现:统计最近一年每个月的通话成功率(每月通话总量/每月来电总量) 并写入到指定的表a 中

mysql 数据迁移至新的数据结构库中

线上已经有正在跑的项目了但是产品需求有调整重新开发的新项目: 1:数据库新增各种字段, 2:数据存储类型不同 之前没有处理过这方面的经验!大伙有没有什么可以指教的?

Mysql使用存储过程,删除表数据

我现在有两张表A,B,两张表有外键关联,现在我想使用mysql的存储结构删除A表(关联B表)的数据,怎么写啊

MySQL社区版支持数据最大存储量问题

因为最近要启动一个项目,想请教各位大佬一个问题:MySQL社区版是否支持100T的数据量(主要做存储用)? 是否支持50+个客户端的并发访问? 由于之前用MySQL存储的数据量小,没有存储过这么大数据的经验 还有就是如果处理这么大的数据量,需要什么配置的计算机性能?

数据库将数据存储在哪里?比如mysql。是存储在内存还是硬盘里

数据库将数据存储在哪里?比如mysql。是存储在内存还是硬盘里

Mysql数据库的表数据存储在磁盘的什么位置?

![图片说明](https://img-ask.csdn.net/upload/201702/19/1487508996_466557.png) 例如这些表中的数据存在磁盘的什么位置?

关于mysql使用存储过程插入大量数据的问题

创建数据库 create database ceshi; use ceshi; 创建表 create table ce( id int not null auto_increment, name varchar(50) default null, pw char(50), primary key(id)); 存储过程 delimiter // create procedure insert_ce(in item int) begin declare counter int; declare i int; set counter=item; while counter >=1 do insert into ce values(counter,concat('mysqls',counter),repeat('ab',5)); set counter =counter-1; set i=i+1; if i=1000 then set i=0; commit; end if; end while; end // delimiter ; 十万条数据使用的时间是40分钟 另一钟方法: create table t_2 (id serial,name char(5)) ; delimiter $$ SET AUTOCOMMIT = 0$$ create procedure test02(in i int) begin declare v_cnt decimal (10) default 0 ; dd:loop insert into t_2 values (null,'aaaaa'), (null,'aaaaa'), (null,'aaaaa'), (null,'aaaaa'), (null,'aaaaa'), (null,'aaaaa'), (null,'aaaaa'), (null,'aaaaa'), (null,'aaaaa'), (null,'aaaaa'); commit; set v_cnt = v_cnt+10 ; if v_cnt = i then leave dd; end if; end loop dd ; end;$$ delimiter ; 十万条数据使用的时间是7分钟 设置缓存的话不到两种方法都是一份钟不到就好了,朋友说有可能是默认缓存过小的原因。可是,两种方法在同一个机子上测试,没有设置缓存,所用的时间就是差很多。 想问一下是什么原因造成的,还想知道插入多少条数据提交一次才是最优插入,第二种方法的注释?

mysql大数据如何存储方便

我有大概500亿以上的数据 每条数据除了相应的主键ID外 由7个坐标点外加两个字段组成 属于全球范围内的坐标点 请问大佬如何存储这些数据比较好 另外 这500亿以上的数据还要每个再分化100份 请问 如何建表 mysql数据库 数据开始一次性生成 后续主要以查询为主 偶尔会update一下 update量小 单次最多100条数据

logstash同步数据mysql一对多数据结构的情况?

学生表student和课程表class一对多关系, 学生表student和兴趣interest表一对多关系, 想要将三个表同步到一个索引里面,通过ES一次性查询到学生信息、学生的课程数组、学生的兴趣数组; [ { "id": 1, "name": "小王", "class": [ { "id": 1, "name": "数学" }, { "id": 2, "name": " 语文" } ], "interest": [ { "id": 1, "name": "学习" }, { "id": 1, "name": "足球" } ] }] 我是想搜索出来这样的数据 同时包含学生的 课程和兴趣,而这条数据是真实同步到logstash中的 不是通过ES的联合查询出来的

关于mysql中int数据类型储存最大数值与长度的关系

关于mysql中int数据类型储存最大数值与长度的关系关于mysql中int数据类型储存最大数值与长度的关系关于mysql中int数据类型储存最大数值与长度的关系关于mysql中int数据类型储存最大数值与长度的关系

MySQL存储过程循环问题

DELIMITER $$ CREATE PROCEDURE insert_pro(IN usidS VARCHAR(50),IN usidE VARCHAR(50),IN uutype INT(11),IN uulevel INT(11)) BEGIN DECLARE $existsFlag INT DEFAULT 0; DECLARE usid INT(50); //判断同种type和level的记录是否存在 SELECT id INTO $existsFlag FROM zy WHERE utype=uutype AND ulevel=uulevel; IF $existsFlag = 0 THEN //判断其实序号在数据库中是否已存在 SELECT id INTO $existsFlag FROM zy WHERE sid>=usidS+0 AND sid<=usidE+0; IF $existsFlag = 0 SET usid=(usidS+0); //如果都不存在,则以起止序号为sid,循环插入相同level相同type记录若干 WHILE usid<=(usidE+0) DO INSERT INTO zy(sid,utype,ulevel) VALUES(usid+'',uutype,uulevel); END IF; SET usid=(usid+1); END WHILE; END $$ 目前一直在‘SET usid=(usidS+0);’附近报错,不知是何原因,求大神指点

mysql数据库 误操作 回复表结构和数据数据

没有备份 没有开启bin log 如何恢复 误操作造成的数据和表结构的改变? 求大神指点

ODBC调用MYSQL存储过程

ODBC访问MySQL地带OUT参数的存储过程时出错,提示信息为:OUT or INOUT argument 1 for routine test.ProcTest2 is not a variable or NEW pseudo-variable in BEFORE trigger 查了资料,貌似是MySQL的bug,是这样的吗?求各位大侠帮帮忙,谢谢了!

MySQL嵌套表头数据存储问题

如图所示,这样的表格在MySQL数据库中应该如何建立表 ![图片说明](https://img-ask.csdn.net/upload/201603/27/1459064971_199218.png)

如何通过存储过程将mysql不同数据库的相同表数据迁移

a库和b库里面有很多表,字段相同表名也相同,有很多字段不同 我现在想把a库中的相同表名相同字段的表的数据转移到b中 不知道存储过程能完成不 如果不能有什么办法呢 我用的navicat 不想一个一个复制 怕出错

mysql存储过程返回值一直为空

![图片说明](https://img-ask.csdn.net/upload/201712/16/1513438967_968134.png) ![图片说明](https://img-ask.csdn.net/upload/201712/16/1513438978_915337.png) ![图片说明](https://img-ask.csdn.net/upload/201712/16/1513438990_209858.png) total一直为空 不知道哪错了

游戏记录如何使用MySQL存储

现在我需要存储一场游戏记录。该游戏记录含有多位玩家,我需要记录游戏时长、游戏玩家id等信息。 请问可以使用MySQL存储么?如果可以,您有什么好的存储方案?如果不可以,您觉得应该使用什么数据库存储呢?

亿级数据,mysql插入数据非常缓慢,谁给优化一下,代码如下。

``` package databasebit import ( "database/sql" "fmt" _ "github.com/go-sql-driver/mysql" ) //此函数要被调用上亿次,进行数据的插入以及查询 重复数据大概占比50 func Databaseinbit(db *sql.DB, newaddress string, newrece, newsend float32) { // 查询数据表的address字段内有没有重复数据 rows, err := db.Query("SELECT * FROM bitcoin WHERE address REGEXP '"+newaddress+"'") checkErr(err) //如果address数据重复 将rece与send进行更新 for rows.Next() { //在不报错的情况下 uid可以不提取数据 var uid int var address string var rece float32 var send float32 err = rows.Scan(&uid, &address, &rece, &send) checkErr(err) //如果地址相同 选择rece或者send进行更新 if address == newaddress { if newrece != 0 { rece += newrece stmt, err := db.Prepare("update bitcoin set rece=? WHERE address='"+newaddress+"'") checkErr(err) res, err := stmt.Exec(rece) checkErr(err) affect, err := res.RowsAffected() checkErr(err) fmt.Println("address:",address," :" , affect) rows.Close() return } if newsend != 0 { send += newsend stmt, err := db.Prepare("update bitcoin set send=? WHERE address='"+newaddress+"'") checkErr(err) res, err := stmt.Exec(send) checkErr(err) affect, err := res.RowsAffected() checkErr(err) fmt.Println("address:",address," : ", affect) rows.Close() return } } } // 如果没有重复数据 将数据插入 stmt, err := db.Prepare("INSERT bitcoin SET address=?,rece=?,send=?") checkErr(err) stmt.Exec(newaddress, newrece, newsend) return } func checkErr(err error) { if err != nil { panic(err) } } ``` 这是表的数据结构![图片说明](https://img-ask.csdn.net/upload/201811/22/1542867477_464546.png) 当全部数据插入完成后 对数据表中address字段进行查询 查询时间不能超过0.5s 数据规模亿级

技术大佬:我去,你写的 switch 语句也太老土了吧

昨天早上通过远程的方式 review 了两名新来同事的代码,大部分代码都写得很漂亮,严谨的同时注释也很到位,这令我非常满意。但当我看到他们当中有一个人写的 switch 语句时,还是忍不住破口大骂:“我擦,小王,你丫写的 switch 语句也太老土了吧!” 来看看小王写的代码吧,看完不要骂我装逼啊。 private static String createPlayer(PlayerTypes p...

副业收入是我做程序媛的3倍,工作外的B面人生是怎样的?

提到“程序员”,多数人脑海里首先想到的大约是:为人木讷、薪水超高、工作枯燥…… 然而,当离开工作岗位,撕去层层标签,脱下“程序员”这身外套,有的人生动又有趣,马上展现出了完全不同的A/B面人生! 不论是简单的爱好,还是正经的副业,他们都干得同样出色。偶尔,还能和程序员的特质结合,产生奇妙的“化学反应”。 @Charlotte:平日素颜示人,周末美妆博主 大家都以为程序媛也个个不修边幅,但我们也许...

我说我不会算法,阿里把我挂了。

不说了,字节跳动也反手把我挂了。

抖音上很火的时钟效果

反正,我的抖音没人看,别人都有几十万个赞什么的。 发到CSDN上来,大家交流下~ 主要用到原生态的 JS+CSS3。 具体不解释了,看注释: &lt;!DOCTYPE html&gt; &lt;html lang="en"&gt; &lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;Title&lt;/tit...

记录下入职中软一个月(外包华为)

我在年前从上一家公司离职,没想到过年期间疫情爆发,我也被困在家里,在家呆着的日子让人很焦躁,于是我疯狂的投简历,看面试题,希望可以进大公司去看看。 我也有幸面试了我觉得还挺大的公司的(虽然不是bat之类的大厂,但是作为一名二本计算机专业刚毕业的大学生bat那些大厂我连投简历的勇气都没有),最后选择了中软,我知道这是一家外包公司,待遇各方面甚至不如我的上一家公司,但是对我而言这可是外包华为,能...

培训班出来的人后来都怎么样了?(二)

接着上回说,培训班学习生涯结束了。后面每天就是无休止的背面试题,不是没有头脑的背,培训公司还是有方法的,现在回想当时背的面试题好像都用上了,也被问到了。回头找找面试题,当时都是打印下来天天看,天天背。 不理解呢也要背,面试造飞机,上班拧螺丝。班里的同学开始四处投简历面试了,很快就有面试成功的,刚开始一个,然后越来越多。不知道是什么原因,尝到胜利果实的童鞋,不满足于自己通过的公司,嫌薪水要少了,选择...

面试了一个 31 岁程序员,让我有所触动,30岁以上的程序员该何去何从?

最近面试了一个31岁8年经验的程序猿,让我有点感慨,大龄程序猿该何去何从。

大三实习生,字节跳动面经分享,已拿Offer

说实话,自己的算法,我一个不会,太难了吧

程序员垃圾简历长什么样?

已经连续五年参加大厂校招、社招的技术面试工作,简历看的不下于万份 这篇文章会用实例告诉你,什么是差的程序员简历! 疫情快要结束了,各个公司也都开始春招了,作为即将红遍大江南北的新晋UP主,那当然要为小伙伴们做点事(手动狗头)。 就在公众号里公开征简历,义务帮大家看,并一一点评。《启舰:春招在即,义务帮大家看看简历吧》 一石激起千层浪,三天收到两百多封简历。 花光了两个星期的所有空闲时...

推荐9个能让你看一天的网站

分享的这9个保证另你意外的网站,每个都非常实用!非常干货!毫不客气的说,这些网站最少值10万块钱。 利用好这些网站,会让你各方面的技能都得到成长,不说让你走上人生巅峰,但对比现在的你,在眼界、学识、技能方面都有质的飞跃。 一、AIRPANO 传送门:https://www.airpano.com/360photo_list.php 这是一个可以躺在家里,就能环游世界的神奇网站。 世界那么大,绝大多...

大牛都会用的IDEA调试技巧!!!

导读 前天面试了一个985高校的实习生,问了他平时用什么开发工具,他想也没想的说IDEA,于是我抛砖引玉的问了一下IDEA的调试用过吧,你说说怎么设置断点...

都前后端分离了,咱就别做页面跳转了!统统 JSON 交互

文章目录1. 无状态登录1.1 什么是有状态1.2 什么是无状态1.3 如何实现无状态1.4 各自优缺点2. 登录交互2.1 前后端分离的数据交互2.2 登录成功2.3 登录失败3. 未认证处理方案4. 注销登录 这是本系列的第四篇,有小伙伴找不到之前文章,松哥给大家列一个索引出来: 挖一个大坑,Spring Security 开搞! 松哥手把手带你入门 Spring Security,别再问密...

97年世界黑客编程大赛冠军作品(大小仅为16KB),惊艳世界的编程巨作

这是世界编程大赛第一名作品(97年Mekka ’97 4K Intro比赛)汇编语言所写。 整个文件只有4095个字节, 大小仅仅为16KB! 不仅实现了3D动画的效果!还有一段震撼人心的背景音乐!!! 内容无法以言语形容,实在太强大! 下面是代码,具体操作看最后! @echo off more +1 %~s0|debug e100 33 f6 bf 0 20 b5 10 f3 a5...

不要再到处使用 === 了

我们知道现在的开发人员都使用 === 来代替 ==,为什么呢?我在网上看到的大多数教程都认为,要预测 JavaScript 强制转换是如何工作这太复杂了,因此建议总是使用===。这些都...

什么是a站、b站、c站、d站、e站、f站、g站、h站、i站、j站、k站、l站、m站、n站?00后的世界我不懂!

A站 AcFun弹幕视频网,简称“A站”,成立于2007年6月,取意于Anime Comic Fun,是中国大陆第一家弹幕视频网站。A站以视频为载体,逐步发展出基于原生内容二次创作的完整生态,拥有高质量互动弹幕,是中国弹幕文化的发源地;拥有大量超粘性的用户群体,产生输出了金坷垃、鬼畜全明星、我的滑板鞋、小苹果等大量网络流行文化,也是中国二次元文化的发源地。 B站 全称“哔哩哔哩(bilibili...

十个摸鱼,哦,不对,是炫酷(可以玩一整天)的网站!!!

文章目录前言正文**1、Kaspersky Cyberthreat real-time map****2、Finding Home****3、Silk – Interactive Generative Art****4、Liquid Particles 3D****5、WINDOWS93****6、Staggering Beauty****7、Ostagram图片生成器网址****8、全历史网址*...

终于,月薪过5万了!

来看几个问题想不想月薪超过5万?想不想进入公司架构组?想不想成为项目组的负责人?想不想成为spring的高手,超越99%的对手?那么本文内容是你必须要掌握的。本文主要详解bean的生命...

大厂的 404 页面都长啥样?最后一个笑了...

每天浏览各大网站,难免会碰到404页面啊。你注意过404页面么?猿妹搜罗来了下面这些知名网站的404页面,以供大家欣赏,看看哪个网站更有创意: 正在上传…重新上传取消 腾讯 正在上传…重新上传取消 网易 淘宝 百度 新浪微博 正在上传…重新上传取消 新浪 京东 优酷 腾讯视频 搜...

自从喜欢上了B站这12个UP主,我越来越觉得自己是个废柴了!

不怕告诉你,我自从喜欢上了这12个UP主,哔哩哔哩成为了我手机上最耗电的软件,几乎每天都会看,可是吧,看的越多,我就越觉得自己是个废柴,唉,老天不公啊,不信你看看…… 间接性踌躇满志,持续性混吃等死,都是因为你们……但是,自己的学习力在慢慢变强,这是不容忽视的,推荐给你们! 都说B站是个宝,可是有人不会挖啊,没事,今天咱挖好的送你一箩筐,首先啊,我在B站上最喜欢看这个家伙的视频了,为啥 ,咱撇...

代码注释如此沙雕,会玩还是你们程序员!

某站后端代码被“开源”,同时刷遍全网的,还有代码里的那些神注释。 我们这才知道,原来程序员个个都是段子手;这么多年来,我们也走过了他们的无数套路… 首先,产品经理,是永远永远吐槽不完的!网友的评论也非常扎心,说看这些代码就像在阅读程序员的日记,每一页都写满了对产品经理的恨。 然后,也要发出直击灵魂的质问:你是尊贵的付费大会员吗? 这不禁让人想起之前某音乐app的穷逼Vip,果然,穷逼在哪里都是...

一场疫情,炸出了退休的COBOL程序员

COBOL编程语言,估计大多数程序员从没听说过,我这样的编程老司机,也是只闻其名,从未一睹芳容。出门问了问度娘,答案如下:COBOL语言,是一种面向过程的高级程序设计语言,主要用于数据...

爬虫(101)爬点重口味的

小弟最近在学校无聊的很哪,浏览网页突然看到一张图片,都快流鼻血。。。然后小弟冥思苦想,得干一点有趣的事情python 爬虫库安装https://s.taobao.com/api?_ks...

讲真,这两款idea插件,能治愈你英语不好的病

时不时就有小伙伴问我,“二哥,能推荐一款 IDE 吗?”你看这话问的,现在搞 Java 的不都在用 Intellij IDEA 吗,还用得着推荐(我已经和 Eclipse 分手了)。然后小伙伴又说,“二哥,IDEA 支持中文吗?我英语不太好。”你看这话问的,搞编程的,英语不好是硬伤啊! 不过,随着 IDEA 最新版(版本号是 2020.1)的发布,英语不好的病可以彻底治愈了。为什么这么说呢?因为 ...

在拼多多上班,是一种什么样的体验?我心态崩了呀!

之前有很多读者咨询我:武哥,在拼多多上班是一种什么样的体验?由于一直很忙,没抽出时间来和大家分享。上周末特地花点时间来写了一篇文章,跟大家分享一下拼多多的日常。 1. 倒时差的作息 可能很多小伙伴都听说了,拼多多加班很严重。这怎么说呢?作息上确实和其他公司有点区别,大家知道 996,那么自然也就能理解拼多多的“11 11 6”了。 所以当很多小伙伴早上出门时,他们是这样的: 我们是这样的: 当...

又一起程序员被抓事件

就在昨天互联网又发生一起让人心酸的程序员犯罪事件,著名的百度不限速下载软件 Pandownload PC 版作者被警方抓获。案件大致是这样的:软件的作者不仅非法盗取用户数据,还在QQ群进...

瑞德西韦重症用药结果再曝光,上百名重症一周内好转,股价大涨19%

郭一璞 发自 凹非寺量子位 报道 | 公众号 QbitAI期盼已久的瑞德西韦临床数据,现在“偷跑”了。在芝加哥大学医学院的临床试验中,125名病人参与,大部分人都已经出院,其中只有2名病...

应聘3万的职位,有必要这么刁难我么。。。沙雕。。。

又一次被面试官带到坑里面了。面试官:springmvc用过么?我:用过啊,经常用呢面试官:springmvc中为什么需要用父子容器?我:嗯。。。没听明白你说的什么。面试官:就是contr...

Vue商城——详情页功能

详情页实现思路 点击商品进去详情页,根据点击请求更加详细的信息,要传过来goodsItem的iid,根据id去服务器请求更加详细的信息;配置路由映射关系,点击进行跳转,带参数传递跳转 itemClick(){ this.$router.push('/detail/'+this.goodsItem.iid) /* this.$router.push({ ...

太狠了,疫情期间面试,一个问题砍了我5000!

疫情期间找工作确实有点难度,想拿到满意的薪资,确实要点实力啊!面试官:Spring中的@Value用过么,介绍一下我:@Value可以标注在字段上面,可以将外部配置文件中的数据,比如可以...

自学编程的 6 个致命误区

嗨,小伙伴们大家好,我是沉默王二。本篇文章来和大家聊聊自学编程中的一些误区——这是我在 B 站上看了羊哥的一期视频后有感而发的文章。因为确实有很多读者也曾私信问过我这些方面的问题,很有代表性,所以我就结合自己的亲身体会来谈一谈,希望对小伙伴们有所启发。 01、追求时髦 所谓基础不牢,地动山摇啊。可很多小伙伴压根就没注意过这个问题,市面上出什么新鲜的技术就想去尝试,结果把自己学的乱七八糟,心灰意冷...

相关热词 c# 局部 截图 页面 c#实现简单的文件管理器 c# where c# 取文件夹路径 c# 对比 当天 c# fir 滤波器 c# 和站 队列 c# txt 去空格 c#移除其他类事件 c# 自动截屏
立即提问