V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
MySQL 5.5 Community Server
MySQL 5.6 Community Server
Percona Configuration Wizard
XtraBackup 搭建主从复制
Great Sites on MySQL
Percona
MySQL Performance Blog
Severalnines
推荐管理工具
Sequel Pro
phpMyAdmin
推荐书目
MySQL Cookbook
MySQL 相关项目
MariaDB
Drizzle
参考文档
http://mysql-python.sourceforge.net/MySQLdb.html
deku9
V2EX  ›  MySQL

关于 Mysql 的 b+树顺序存储的问题

  •  
  •   deku9 · 308 天前 · 1458 次点击
    这是一个创建于 308 天前的主题,其中的信息可能已经有所发展或是发生改变。
    八股文都说 b+树优点是范围查询,叶子节点顺序存储。
    那么请问 varchar 、char 这种类型的字段做索引,是如何顺序存储的。
    或者说 b+树只有数值类型的字段做索引才能顺序存储嘛?
    6 条回复    2024-02-27 09:42:39 +08:00
    orikey
        1
    orikey  
       308 天前
    只要有字典序 数字和字符又有什么区别呢
    ch3nOr
        2
    ch3nOr  
       308 天前
    varchar 、char 也能比较大小,能比较大小就能排序
    thedinosaurmail
        3
    thedinosaurmail  
       308 天前
    字符串可以 ascii 比较 , 怎么比较可以看 mysql 的 Collation
    https://dev.mysql.com/doc/refman/8.0/en/adding-collation.html#:~:text=A%20collation%20is%20a%20set,orders%20characters%20based%20on%20weights.

    一般用: utf8mb4_unicode_ci
    CEBBCAT
        4
    CEBBCAT  
       308 天前
    首先是一些问题可以先问一下 GPT ,其次是这个问题可以结合 MySQL B-Tree 的具体结构、实现来研究

    比如说你测试给一个 VARCHAR 字段建立索引,能建立,EXPLAIN 显示能用上,那就是有效果。接下来自然而然就是 MySQL 如何实现相关机制。
    cheng6563
        5
    cheng6563  
       307 天前
    字符串能排序比大小的啊,只是要注意字符串字段中的 10<1
    cheng6563
        6
    cheng6563  
       307 天前
    @cheng6563 打错了,是"10"<"2"
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1078 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 19:31 · PVG 03:31 · LAX 11:31 · JFK 14:31
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.