mysql建立索引后究竟可以有多快!
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建立索引后究竟可以有多快!相关推荐
- MySql索引查询优化 千万级数据普通查询和建立索引后数据查询耗时对比
前言 索引:拿汉语字典的目录页(索引)打比方,我们可以按拼音.笔画.偏旁部首等排序的目录(索引)快速查找到需要的字. 索引分单列索引和组合索引. 单列索引,即一个索引只包含单个列,一个表可以有多个单列 ...
- mysql 建立索引更慢_如何运用“提前发布,经常发布”来建立更好的品牌
mysql 建立索引更慢 开源的重要性,尤其是"早发布,经常发布"(RERO)的格言,很难被夸大. 随着各种规模和规模的组织发现开放的协作流程可以做什么,这种在命令行中诞生的方法已 ...
- mysql组合索引 唯一_(四):MySQL建立索引,唯一索引和组合索引
# (四):MySQL建立索引,唯一索引和组合索引 先大致介绍下项目的数据库信息. 数据库A:主要存放的通用的表,如User.Project.Report等. 数据库B.C.D:一个项目对应一个数据库 ...
- Mysql 建立索引之后反而变慢(已解决)
Mysql 建立索引之后反而变慢(已解决) 记录一个神奇的问题,解决方法分享给大家,碰到类似问题,可以试试这种方法. SQL查询背景 需要优化建索引的表为 FEDERATED 引擎(远程表) 数据库1 ...
- 如何为mysql建立索引
目录 索引作用 如何为mysql建立索引 什么情况下应不建或少建索引 设计MySql索引的时候有一下几点注意: 索引作用 在索引列上,除了有序查找之外,数据库利用各种各样的快速定位技术,能够大大提高查 ...
- MySQL 建立索引
建立索引的必要性 主键默认是建立索引的,而且具有唯一性 合适地建立索引后比不建立索引,提高了查询速度 创建索引的语法: 简单索引(可以有重复数据) create index [indexname] o ...
- mysql 建立索引_mysql建立索引的原则
1.选择唯一性索引 唯一性索引的值是唯一的,可以更快速的通过该索引来确定某条记录.例如,学生表中学号是具有唯一性的字段.为该字段建立唯一性索引可以很快的确定某个学生的信息.如果使用姓名的话,可能存在同 ...
- MySQL建立索引注意事项以及面试问题
Mysql是我们常用的数据库,其中建表建索引是实际项目开发过程中不可避免的操作,下面整理一下自己查阅的资料,简单的介绍一下mysql建索引的注意事项,方便自己理解,也可用于某些面试问答. 1. 索引的 ...
- 数据库mysql建立索引_为mysql数据库建立索引
前些时候,一位颇高级的程序员居然问我什么叫做索引,令我感到十分的惊奇,我想这绝不会是沧海一粟,因为有成千上万的开发者(可能大部分是使用MySQL的)都没有受过有关数据库的正规培训,尽管他们都为客户做过 ...
最新文章
- 脚本大全_抖音文案大全2020励志:抖音最火励志搞笑句子,直接套用上热门
- 重装系统后不重装matlab的解决办法
- snmp服务中snmpwalk命令常用方法总结
- cannot use a string pattern on a bytes-like object(bytes与str互转)
- SQLite第九课 sqlite3_set_authorizer案例
- 11 Vue学习 headtop
- 如何去掉word中的回车符??
- python使用CV2剪切图片
- 芒果iOS开发之Swift教程01-Swift基础
- GIS离线地图的下载与发布
- 千图成像 马赛克拼图 专用软件 圣诞礼物
- Computer:路由器连接交换机怎么建立局域网
- 【22年新版】软件工程专业的各阶段的学习方法
- 计算机网络 - ECMAScript和Javascript、jscript关系
- Appium-Press keycode(按键代码)
- Linux之网络设置
- 给初学Linux的朋友分享一些心得总结
- 浅谈 C/S 和 B/S 架构
- vsp虚拟服务器,VSP主要的工作原理
- ubuntu 内核降级,切换linux内核版本