sql优化有很多学问,其中建立索引是提升查询速度很重要的一条;

然后我就心血来潮测试了下;下面是表的结构,总共12.1万条的样子,一开始我没有添加索引,后面分别给id和city添加了唯一hash索引与普通的btree索引,然后大致试了下;

--唯一主键未建立索引0.012
SELECT * from house_info where id=3000;--唯一主键建立HASH索引0.009
SELECT * from house_info where id=3000;--唯一主键未建立索引0.383
SELECT * from house_info where id>3000;
--唯一主键建立HASH索引0.394
SELECT * from house_info where id>3000;
--0.164
SELECT * from house_info where city='保定';--没建立索引0.045
SELECT id,city from house_info where city='保定';--建立索引0.0002
SELECT id,city from house_info where city='保定';--0.010
SELECT * from house_info where city='保定';

对于已经是唯一主键的id来说建立hash索引可以微微的增加查询速度;同时需要注意hash并不支持范围查询,

对于非唯一索引,从0.164s提升到了0.01s提升了16倍;效果显著;

与此同时,尝试只查询索引部分字段,发现速度上升到了惊人的0.0002s;像类似用户角色关联表,角色权限关联表;都是可以用的,简直屌的不行...

mysql建立索引后究竟可以有多快!相关推荐

  1. MySql索引查询优化 千万级数据普通查询和建立索引后数据查询耗时对比

    前言 索引:拿汉语字典的目录页(索引)打比方,我们可以按拼音.笔画.偏旁部首等排序的目录(索引)快速查找到需要的字. 索引分单列索引和组合索引. 单列索引,即一个索引只包含单个列,一个表可以有多个单列 ...

  2. mysql 建立索引更慢_如何运用“提前发布,经常发布”来建立更好的品牌

    mysql 建立索引更慢 开源的重要性,尤其是"早发布,经常发布"(RERO)的格言,很难被夸大. 随着各种规模和规模的组织发现开放的协作流程可以做什么,这种在命令行中诞生的方法已 ...

  3. mysql组合索引 唯一_(四):MySQL建立索引,唯一索引和组合索引

    # (四):MySQL建立索引,唯一索引和组合索引 先大致介绍下项目的数据库信息. 数据库A:主要存放的通用的表,如User.Project.Report等. 数据库B.C.D:一个项目对应一个数据库 ...

  4. Mysql 建立索引之后反而变慢(已解决)

    Mysql 建立索引之后反而变慢(已解决) 记录一个神奇的问题,解决方法分享给大家,碰到类似问题,可以试试这种方法. SQL查询背景 需要优化建索引的表为 FEDERATED 引擎(远程表) 数据库1 ...

  5. 如何为mysql建立索引

    目录 索引作用 如何为mysql建立索引 什么情况下应不建或少建索引 设计MySql索引的时候有一下几点注意: 索引作用 在索引列上,除了有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查 ...

  6. MySQL 建立索引

    建立索引的必要性 主键默认是建立索引的,而且具有唯一性 合适地建立索引后比不建立索引,提高了查询速度 创建索引的语法: 简单索引(可以有重复数据) create index [indexname] o ...

  7. mysql 建立索引_mysql建立索引的原则

    1.选择唯一性索引 唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录.例如,学生表中学号是具有唯一性的字段.为该字段建立唯一性索引可以很快的确定某个学生的信息.如果使用姓名的话,可能存在同 ...

  8. MySQL建立索引注意事项以及面试问题

    Mysql是我们常用的数据库,其中建表建索引是实际项目开发过程中不可避免的操作,下面整理一下自己查阅的资料,简单的介绍一下mysql建索引的注意事项,方便自己理解,也可用于某些面试问答. 1. 索引的 ...

  9. 数据库mysql建立索引_为mysql数据库建立索引

    前些时候,一位颇高级的程序员居然问我什么叫做索引,令我感到十分的惊奇,我想这绝不会是沧海一粟,因为有成千上万的开发者(可能大部分是使用MySQL的)都没有受过有关数据库的正规培训,尽管他们都为客户做过 ...

最新文章

  1. 脚本大全_抖音文案大全2020励志:抖音最火励志搞笑句子,直接套用上热门
  2. 重装系统后不重装matlab的解决办法
  3. snmp服务中snmpwalk命令常用方法总结
  4. cannot use a string pattern on a bytes-like object(bytes与str互转)
  5. SQLite第九课 sqlite3_set_authorizer案例
  6. 11 Vue学习 headtop
  7. 如何去掉word中的回车符??
  8. python使用CV2剪切图片
  9. 芒果iOS开发之Swift教程01-Swift基础
  10. GIS离线地图的下载与发布
  11. 千图成像 马赛克拼图 专用软件 圣诞礼物
  12. Computer:路由器连接交换机怎么建立局域网
  13. 【22年新版】软件工程专业的各阶段的学习方法
  14. 计算机网络 - ECMAScript和Javascript、jscript关系
  15. Appium-Press keycode(按键代码)
  16. Linux之网络设置
  17. 给初学Linux的朋友分享一些心得总结
  18. 浅谈 C/S 和 B/S 架构
  19. vsp虚拟服务器,VSP主要的工作原理
  20. ubuntu 内核降级,切换linux内核版本

热门文章

  1. 一个灵活的AssetBundle打包工具
  2. java 接口强制转换_java-使用强制类型转换接口类型
  3. VMWare共享文件夹使用
  4. 怎么把图片中的字体给p掉,怎么能够显得更真实
  5. python实现小霸王词典
  6. 顾客并不是上帝——CRM客户关系管理中企业与顾客的关系
  7. i5 1135g7核显相当于什么显卡 i51135g7参数
  8. MacOS VSCode 常用快捷键配置
  9. 你知道 HTTP 是如何使用 TCP 连接的吗?今天我就来告诉你!
  10. uniapp-消息推送