电子开发 | 基础入门 | 电路原理图 | 婵⿴鍨伴懜浼村炊閹呮澖濞撴熬鎷� | PLC闁糕晞娅i、锟�   闁靛棗锕ら々褔寮稿⿰鍐╃仒婵炲棎鍨哄﹢鎵博濞嗘瑧绀夐悹鍥敱鐎碉拷 Ctrl+D 闁归潧顑呮慨鈺呭绩閹増顥戦柨娑楃劍閸斿懐鎷姀鈥充憾闁汇劌瀚弫顕€骞愭担纰樺亾閿燂拷濞戞挴鍋撻悹褍鍢查鐔哥▕閻樿京顏遍悹褏鏌夌换妯侯潰閵夘垳绀夐柣銏ゆ涧閻℃瑥顕i埀顒勫矗閹寸姴绔炬繛鍡愬灱缁诲骞冮…鎺旂<.

电子开发网

电子开发网电子设计 | 电子开发网Rss 2.0 会员中心 会员注册

闁宠棄鎳愰弫鍝ユ崉椤栨艾褰嗙€殿喖绻戞晶婊堝礃瀹€瀣闁哄牃鍋撻柡鍌涘婢ф濡存繝鍕毄閻庢稒鍔楅弫鍝ユ崉椤栨艾褰嗙€殿喖绻楅鍝ョ不濡も偓濞呮帡濡寸€e墎绀夐柣顫祷閻箖宕楅鈧槐锟犲蓟閵夘煈鍤勯柟闈涱儏閸烇拷 闁活澀绲婚惌楣冨礂椤掆偓缁憋紕鎷嬮敍鍕毈闁革絻鍔婇埀顒佸姉閺佸摜鈧稒鍔掔划鐘崇▔濮橆偅鐪介柛娑櫭换鈧璺烘处婢ф粓宕樼仦鐑╁亾閿燂拷
闁宠棄妫楀畷鍕緞閳轰緡鍔呭ù鍏艰壘瀹曠喖鎮ч崶銊︾皻閻庡湱鍋樼欢锟�100 c閻犲浂鍙€閳伙拷 chm闁哄秶鍘х槐锟犲Υ閸屾繄銈柡鍌涚懃閸炲鈧湱顢婇娑氱磼閸☆厾绀夐悷鏇炴濞插﹥绗熺€n亞鎽嶅鑸电啲缁辨繈宕橀崨顓у晣妤犵偠锟ラ埀顒佸姉閺佸摜鈧稒鍔掔划鐘崇▔濮橆偅鐪介柛娑櫭换鈧璺烘处婢ф粓宕樼仦鐑╁亾閿燂拷
搜索: 您现在的位置: 电子开发网 >> 编程学习 >> 数据库语言 >> 正文

数据库中的基本数据结构

作者:佚名    文章来源:本站原创    点击数:836    更新时间:2023/5/20

MySQL索引定义:索引(Index) 是帮助MySQL高效获取数据的数据结构。 提取句子主干, 就可以得到索引的本质: 索引是数据结构。
大部分数据库系统及文件系统都采用B-Tree或其变种B+Tree作为索引结构

数据结构具体应用场景:

数据库是如何做到快速检索的功能。
特别有意思的小例子。
 

mysql索引原理的理解和数据结构

数据结构

B+树(为什么使用B+数)

  • 所有数据都存储在磁盘中,读取数据由于IO问题会读取慢,如何加快IO速度

IO

  1. 量:减少IO量
    *禁止使用slect ,避免增加不必要的量
  2. 次数:减少IO次数

相关知识点

  • 加入索引(加快查询速度)
  • 数据结构设计:key、文件编号、当前文件的offset(存在问题:当数据量特别大时,索引所占用的存储空间也特别大。)
  • 解决方法:索引的数据文件也需要持久化存储到磁盘中,当需要使用时直接读取到内存中,加快数据的访问(分而治之:分块读取)
  • 操作系统基本概念:
    1.局部性原理:数据和程序都有聚集成群的倾向,之前被查询过的数据很快会再次被查询。冷热数据(一级缓存,二级缓存的意思)
    2.磁盘预读:在数据交换时,会有一个基本逻辑单位页,一般占用空间是4k,每次在进行数据获取时可以获取整页的整数倍。(mysql中innodb的存储引擎读取数据会读取16k show variables like ‘%innodb’)

ket-value格式数据结构存储:

  1. 哈希表
  2. 树(二叉树、BST、AVL、红黑树、B树、B+树)
    二分支的缺点:深度太深,解决方法:B树(多叉树)

B树

  • 搜索树
  • 多节点多分支的数
     
    问题:假设磁盘块存放16条数据,如果是三层树,最多存放的数据:161616=4096,即48k才存放4096条数据
     

B数存在问题:存放了数据,依然占用空间,如何减少数据,需要用到B+数

B+树

  • 最下面的叶子节点存放的是顺序全量数据
  • 非叶子节点可以不用存放data
     
  • 问题:读取数据,假设三层树48k磁盘块,1000字节为1kb,指针和键值占10字节,1行记录1k 161000/10=160016001600=40960000的数据范围,即Key键值,最下面的只存放一遍数据*
  • 建索引时,key要尽可能少的占用空间
     

索引技术名词

**回表:**从非聚簇索引跳转到聚簇索引中查找数据的过程(避免回表操作select * from table )
索引覆盖当非聚簇索引的叶子节点中包含了查询需要的所有字段时,不需要回表的过程(推荐使用select id,name from table )
最左匹配:、索引下推

Tags:sql,数据库,数据结构  
责任编辑:admin
请文明参与讨论,禁止漫骂攻击。 昵称:注册  登录
[ 查看全部 ] 网友评论
    没有任何评论
閻犙冨閺嬶繝宕犻崨顒傜憮閺夌儑鎷�
 [闁告娲滄晶鏍嫉妤﹁法銈柡鍌︽嫹]闁告ぞ绀侀妵澶屸偓娑崇細缁变即宕¢弴鐘差暬闁哄牆鎼悿鍕瑹閿燂拷100 c閻犲浄鎷�
 [閺夌儐鍨▎銏㈢尵閿燂拷]濞戞挸顦宠ぐ绀烲C閻庢冻缂氱弧鍕鐠恒劍鍩傞弶鐑嗗灟濞嗩敩X-TR
 [闁活澀绲婚惌鐐鐠恒劍鍩傞悹浣瑰礃椤擄拷]LM324閺夆晜鍔栭弬锟�4~20mA閺夌儑鎷�1~5V闁汇垹鐏氱粊锟�
 [闁活澀绲婚惌鐐鐠恒劍鍩傞悹浣瑰礃椤擄拷]LM386濡炲湱绮悗顒佹媴閹捐顔婇柛蹇擃儔椤ユ捇寮ㄩ幆褋浜i柛锝冨妼鐢拷
 [闁活澀绲婚惌鐐鐠恒劍鍩傞悹浣瑰礃椤擄拷]936闁绘帒锕よぐ鎾偨娴e啰鐔呴柛妯煎枔閹﹪宕堕敓锟�
 [闁告娲滄晶鏍嫉妤﹁法銈柡鍌︽嫹]閻℃帒鎳庨敍鎰枖閵忥紕銈撮悹鐚存嫹+婵炴挴鏅涚€癸拷+闁硅翰鍎撮鐔兼儍閸曨偄绀�
 [闂侇偅姘ㄩ弫銈夋偨闂堟稓鎽嶉悹浣瑰礃椤撳憡娼娆愵偨]S7-200PLC闁汇劌瀚挒銏ゆ儑閻旀槒鎷ù鐙呮嫹 S7_2
 [閺夌儐鍨▎銏㈢尵閿燂拷]S7-200閹煎瓨鎸婚弸鍐╃鐠佸湱绀勯柛蹇g厜缁憋拷,STEP7
 [閺夌儐鍨▎銏㈢尵閿燂拷]ModbusPoll闁告粌顒爋dbusSalve闁稿骏鎷�
 [閺夌儐鍨▎銏㈢尵閿燂拷]STEP7婵☆垪鍓濈€氭瑩鏌岃箛鏂跨樄濞寸姰鍊曠花锟� Smart_
 [閺夌儐鍨▎銏㈢尵閿燂拷]Modbus閻犲鍟抽惁顖滃垝閸撗傜触 v1.024 缂備緤鎷�
 [閺夌儐鍨▎銏㈢尵閿燂拷]Modscan32闁告粌顒爋dsim32,modb
 [闁活澀绲婚惌鐐鐠恒劍鍩傞悹浣瑰礃椤擄拷]89c51闁稿繐顦遍悵娑㈠棘闁稖闆归柣顏嗗櫐缁辨獤rotues
 [闁活澀绲婚惌鐐鐠恒劍鍩傞悹浣瑰礃椤擄拷]濞戞挸娲ら崟楣冨储閸炴姰otues濞寸姾娉曞﹢锛勭矙鐎n亞纰嶆繝褎鍔楅悥锟�
 [闁活澀绲婚惌鐐鐠恒劍鍩傞悹浣瑰礃椤擄拷]51闁告娲滄晶鏍嫉閸濆嫬鍧婄紒瀣舵嫹 protues濞寸姾娉曞﹢锟�
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 在线帮助 - 文章列表
返回顶部
刷新页面
下到页底
晶体管查询