天天写order by,你知道Mysql底层执行原理吗?

时间:2020-04-14 12:26:58   收藏:0   阅读:56

前言

CREATE TABLE user (
  id int(11) NOT NULL,
  city varchar(16) NOT NULL,
  name varchar(16) NOT NULL,
  age int(11) NOT NULL,
  PRIMARY KEY (id),
  KEY city (city)
) ENGINE=InnoDB;
select city,name,age from user where city=苏州 order by name limit 1000;

全字段排序

rowid 排序

SET max_length_for_sort_data = 16;

全字段排序 VS rowid 排序

如何避免排序

alter table user add index city_user(city, name);
alter table user add index city_user_age(city, name, age);

总结

原文:https://www.cnblogs.com/Chenjiabing/p/12696879.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!