100W数据,测试索引
两张表,结构相同,数据内容相同。唯一不同的就是是否包含索引。tf_user_index表中包含索引。
这100w数据,我造了近一天时间。
mysql> select count(*) from tf_user_index where score = 30;
+----------+
| count(*) |
+----------+
| 126306 |
+----------+
1 row in set (0.03 sec)
mysql> select count(*) from tf_user where score = 30;
+----------+
| count(*) |
+----------+
| 126306 |
+----------+
1 row in set (1.94 sec)
score字段,加了索引。
mysql> select count(*) from tf_user_index where score > 80;
+----------+
| count(*) |
+----------+
| 2525607 |
+----------+
1 row in set (0.49 sec)
mysql> select count(*) from tf_user where score > 80;
+----------+
| count(*) |
+----------+
| 2525607 |
+----------+
1 row in set (2.02 sec)
很明显,加了索引的查询要快很多。
sql会根据条件去索引中查找,然后去表中查找。如果在索引中匹配的越多,那么查找的时间就越长,索引的意义就越小。
看下面的例子,
mysql> select count(*) from tf_user_index where score > 0;
+----------+
| count(*) |
+----------+
| 10000000 |
+----------+
1 row in set (1.91 sec)
mysql> select count(*) from tf_user where score > 0;
+----------+
| count(*) |
+----------+
| 10000000 |
+----------+
1 row in set (2.03 sec)
大于0,基本上匹配了所有的数据,索引的意义就不大了。
大数据实验,才能更好的看出效果。让微观世界宏观化。
下面看看,sex性别这个字段。
mysql> select count(*) from tf_user where sex = 1;
+----------+
| count(*) |
+----------+
| 5001500 |
+----------+
1 row in set (2.29 sec)
mysql> select count(*) from tf_user_index where sex = 1;
+----------+
| count(*) |
+----------+
| 5001500 |
+----------+
1 row in set (1.04 sec)
加索引也还是有点提升速度的。但是意义不是很大,因为每次查询,基本上都是要扫描一半的数据表。总体来说,还是有一定的提升的。效果不是那么明显,比如上面的score快起来,只有几毫秒的查询时间。
100W数据,测试索引的更多相关文章
- 关于SQL查询效率,100w数据,查询只要1秒
1.关于SQL查询效率,100w数据,查询只要1秒,与您分享:机器情况p4: 2.4内存: 1 Gos: windows 2003数据库: ms sql server 2000目的: 查询性能测试,比 ...
- 如何快速的插入 100W数据到数据库,使用PreparedStatement 最快实现!
有时候,我们使用数据库的时候,如何快速的添加测试数据到数据库中,做测试呢,添加100W 数据,如果使用工具的话可能很慢,这里我推荐大家使用 PreparedStatement 预编译 去进行操作:单线 ...
- Solr学习笔记之3、Solr dataimport - 从SQLServer导入数据建立索引
Solr学习笔记之3.Solr导入SQLServer数据建立索引 一.下载MSSQLServer的JDBC驱动 下载:Microsoft JDBC Driver 4.0 for SQL Server ...
- [搜索]ElasticSearch Java Api(一) -添加数据创建索引
转载:http://blog.csdn.net/napoay/article/details/51707023 ElasticSearch JAVA API官网文档:https://www.elast ...
- 实战:mysql统计指定架构的全部表的数据和索引大小情况-v2
PS:第一个版本号里未做输入的schema_name和table_name推断,改动了一下!再次share! #统计指定架构的全部表的数据和索引大小情况 #tablesize.sh #!/bin/sh ...
- Mysql 查看表数据以及索引大小
如果想查看 Mysql 数据库的总的数据量或者某个表的数据或者索引大小,可以使用系统库 information_schema 来查询,这个系统库中有一个 TABLES 表,这个表是用来记录数据库中表的 ...
- (转)淘淘商城系列——导入商品数据到索引库——Service层
http://blog.csdn.net/yerenyuan_pku/article/details/72894187 通过上文的学习,我相信大家已经学会了如何使用Solrj来操作索引库.本文我们将把 ...
- MySQL数据和索引占用空间查询
MySQL数据和索引占用空间查询 查询所有数据库占用磁盘空间大小的SQL语句 SELECT table_schema, -- 数据库名称 concat( TRUNCATE ( sum( data_le ...
- Mysql高级操作学习笔记:索引结构、树的区别、索引优缺点、创建索引原则(我们对哪种数据创建索引)、索引分类、Sql性能分析、索引使用、索引失效、索引设计原则
Mysql高级操作 索引概述: 索引是高效获取数据的数据结构 索引结构: B+Tree() Hash(不支持范围查询,精准匹配效率极高) 树的区别: 二叉树:可能产生不平衡,顺序数据可能会出现链表结构 ...
随机推荐
- angularJs初体验,实现双向数据绑定!使用体会:比较爽
使用初体验:ng 双向数据绑定: 最简单的双向数据绑定:(使用默认模块控制) <body ng-app> <input type="text" ng-model= ...
- MUI窗口管理
参考:窗口管理 http://dev.dcloud.net.cn/mui/window/ 页面初始化:在app开发中,若要使用HTML5+扩展api,必须等plusready事件发生后才能正常使用,m ...
- R语言NULL、NA、0
0是假 NULL.NA无法辨认真假 除了以上3个其他的都是真 > if (NULL) print("OK") else print("Error") Er ...
- Linux 搭建Nginx并添加配置 SSL 证书
1. 安装准备 1.1 gcc安装 安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装: [root@nginx ~]# yum -y i ...
- 170731、Nginx初探
一. 概念 Nginx——Ngine X,是一款自由的.开源的.高性能HTTP服务器和反向代理服务器:也是一个IMAP.POP3.SMTP代理服务器:也就是说Nginx本身就可以托管网站(类似于Tom ...
- SQL取某个字符串最后一次出现的位置后面的字符串方法
--sql怎么取某个字符串最后一次出现的位置后面的字符串 declare @s varchar(max); set @s = 'fj/2016815/2016081553677565.pdf'; se ...
- TFS二次开发01——TeamProjectsPicher
作为TFS的二次开发,首先要做的第一件工作是怎样连接到TFS并选择我们要下载的项目. 本文就此介绍一下使用TeamProjectsPicher 连接到TFS服务器. 添加引用 Microsoft.Te ...
- Constructor Overloading in Java with examples 构造方法重载 Default constructor 默认构造器 缺省构造器 创建对象 类实例化
Providing Constructors for Your Classes (The Java™ Tutorials > Learning the Java Language > Cl ...
- nodejs学习笔记Node.js 调试命令
3.4 调试 47 下面是一个简单的例子: $ node debug debug.js < debugger listening on port 5858 connecting ...
- DevOps 创建pipline报错:The value specified for SourceVersion is not a valid commit ID
报错内容 The value specified for SourceVersion is not a valid commit ID 解决 官方给出的解答: Thank you for your f ...