首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

MySQL的索引是怎么加速查询的?

昨天讲到了索引的基础知识,没看的小伙伴记得看: 《爱上面试官》系列-数据库索引 MySQL 的索引长什么样子?索引到底是怎么加速查询的?...至于为什么 MySQL 选择了 B+树,而不用上面说的有序数组、hash索引等,咱们后面再聊。...也没关系,mysql会给你建一个rowid字段,用它来组织这棵 B+树....B+树 查询,快速查到有两条姓名是“David”的记录,并且拿到它们的主键,分别是 4 和 5,但是你要的是select *呀,怎么办?...甚至,这么精妙的数据结构设计,难道就只能用来加速查询吗? 至少现在我能想到的,索引可以拿来干的事情,就至少有四种。 下次聊。 (吐血画图,此处应该点赞)

2.6K10

MySQL数据库开发规范知识点速查

数据库设计规范 命名规范 基本设计规范 索引设计规范 字段设计规范 SQL开发规范 操作行为规范 命名规范 对象名称使用小写字母并用下划线分割 禁止使用MySQL保留关键字 见名识义,最好不超过32个字符...(不是MySQL的限制,是经验值) 处理方式:历史数据归档、分库分表 谨慎使用MySQL分区表 分区表:在物理上表现为多个文件,在逻辑上表现为一个表 问题:谨慎选择分区键,跨分区查询效率可能更低 建议:...限制:一个表最多4096列 减少磁盘IO,保证热数据的内存缓存命中率 利用更有效的缓存,避免读入无用的冷数据 建议:经常一起用的列放在一个表中 禁止在表中建预留字段 无法见名识义 无法确定数据类型 MySQL...MySQL外键会建立索引 不建议使用外键约束 表与表之间的关联键建立索引是必须的 外键会影响父表和子表的写操作而降低性能(检查约束导致的) 字段设计规范 优先选择符合存储需要的最小的数据类型 将字符串转化为数字类型存储...应该交给DBA处理问题用,不应被程序占用 数据库账号遵循权限最小原则 只需要查询就别给其他操作权限 数据库账号只能在同一个DB下使用,不允许跨库 程序的账号原则上不允许有drop权限 参考 高性能可扩展MySQL

1.5K110

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券