› 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 · Feb 26, 2024 · 2745 views
    This topic created in 946 days ago, the information mentioned may be changed or developed.
    八股文都说 b+树优点是范围查询,叶子节点顺序存储。
    那么请问 varchar 、char 这种类型的字段做索引,是如何顺序存储的。
    或者说 b+树只有数值类型的字段做索引才能顺序存储嘛?
    6 replies  •  2024-02-27 09:42:39 +08:00
    orikey
        1
    orikey  
       Feb 26, 2024
    只要有字典序 数字和字符又有什么区别呢
    ch3nOr
        2
    ch3nOr  
       Feb 26, 2024
    varchar 、char 也能比较大小,能比较大小就能排序
    thedinosaurmail
        3
    thedinosaurmail  
       Feb 26, 2024
    字符串可以 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  
       Feb 26, 2024
    首先是一些问题可以先问一下 GPT ,其次是这个问题可以结合 MySQL B-Tree 的具体结构、实现来研究

    比如说你测试给一个 VARCHAR 字段建立索引,能建立,EXPLAIN 显示能用上,那就是有效果。接下来自然而然就是 MySQL 如何实现相关机制。
    cheng6563
        5
    cheng6563  
       Feb 27, 2024
    字符串能排序比大小的啊,只是要注意字符串字段中的 10<1
    cheng6563
        6
    cheng6563  
       Feb 27, 2024
    @cheng6563 打错了,是"10"<"2"
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1008 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 18:26 · PVG 02:26 · LAX 11:26 · JFK 14:26
    ♥ Do have faith in what you're doing.