mysql在B-Tree上创建伪哈希索引

  • 构建哈希的过程

  • select过程

  • 长字符串下,构建索引可通过自定义哈希作为索引,本人通过实验,在3百多个数据记录的下,性能效果很明显,完全不是一个等级.以下为索引前后几种情况对比
  1. 无索引的url:直接通过无索引url

  1. 通过构建url的哈希索引:用bigint类型存储索引字段crc_url

在哈希索引下,几乎都是0秒完成.

当然,如果直接使用url作为索引,即用B-Tree存储url存储的内容会很大.

题外话:

在where字句中,优化器会根据查询条件是否存在索引,优先进行索引查询. 如下为例子:

将无索引的url放在前面,跟放在后面,效果是一样的

原文地址:https://www.cnblogs.com/listened/p/11978829.html

时间: 2024-10-05 03:10:10

mysql在B-Tree上创建伪哈希索引的相关文章

《高性能MySQL》读书笔记之创建高性能的索引

索引是存储引擎用于快速找到记录的一种数据结构.索引优化是对查询性能优化的最有效手段.索引能够轻易将查询性能提高几个数量级.创建一个最优的索引经常需要重写查询.5.1 索引基础 在MySQL中,存储引擎首先在索引中找到对应值,然后根据匹配的索引记录找到对应的数据行. 索引可以包含一个或多个列的值.如果索引包含多个列,那么列的顺序也十分重要,因为MySQL只能高效地使用索引的最左前缀列. 5.1.1 索引的类型 索引有很多类型,可以为不同的场景提供更好的性能.在MySQL中,索引是在储存引擎层而不是

MySQL中的自适应哈希索引

众所周知,InnoDB使用的索引结构是B+树,但其实它还支持另一种索引:自适应哈希索引. 哈希表是数组+链表的形式.通过哈希函数计算每个节点数据中键所对应的哈希桶位置,如果出现哈希冲突,就使用拉链法来解决.更多内容可以参考 百度百科-哈希表 从以上可以知道,哈希表查找最优情况下是查找一次.而InnoDB使用的是B+树,最优情况下的查找次数根据层数决定.因此为了提高查询效率,InnoDB便允许使用自适应哈希来提高性能. 可以通过参数 innodb_adaptive_hash_index 来决定是否

在Azure上创建MYSQL服务

Azure和所有的云服务一样,也提供了MYSQL数据库,在Azure中叫mysql database on azure.下面我们来一起在Azure上创建一个Mysql数据库. 在新建--> 数据服务,Mysql database on azure当中选择,快速创建,并填写数据库的响应信息. 1.png 注意:名称只能是全小写. 创建成功后,可以到仪表盘当中看到数据库的响应信息. 2.png 如果需要,可以在帐户 Tab当中添加所需要的帐户,帐户格式为databasename%username,

php+mysql+nginx在linux上的环境部署

一直在linux上鼓捣,还没有完整在linux下配置过nginx服务器环境部署呢,这几天没什么事就部署了一下,遇到的问题也很多,现在把我的环境部署文档发出了,有什么问题大家可以一起讨论一下,希望大家采用后遇到问题多多沟通. || 安装所需各种依赖包 sudo -s LANG=C yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2

在LINUX上创建GIT服务器【转】

转自:http://blog.csdn.net/xiongmc/article/details/9176785 如果使用git的人数较少,可以使用下面的步骤快速部署一个git服务器环境. 1. Client生成 SSH 公钥,以便Server端识别. 每个需要使用git服务器的工程师,自己需要生成一个ssh公钥 进入自己的~/.ssh目录,看有没有用 文件名 和 文件名.pub 来命名的一对文件,这个 文件名 通常是 id_dsa 或者 id_rsa. .pub 文件是公钥,另一个文件是密钥.假

怎样将 MySQL 迁移到 MariaDB 上

自从甲骨文收购 MySQL 后,由于甲骨文对 MySQL 的开发和维护更多倾向于闭门的立场,很多 MySQL 的开发者和用户放弃了它.在社区驱动下,促使更多人移到 MySQL 的另一个叫 MariaDB 的分支,在原有 MySQL 开发人员的带领下,MariaDB 的开发遵循开源的理念,并确保它的二进制格式与 MySQL 兼容.众多Linux 发行版例如Red Hat等都支持 MariaDB 作为 MySQL 的直接替换品.如果你想要将 MySQL 中的数据库迁移到 MariaDB 中,那么非常

mysql在5.17上版本不重启主库进行主从复制。

mysql在5.17上版本不重启主库进行主从辅助. 增加了两个重要参数: binlog-do-db=ilanni    需要复制的库 binlog-ignore-db=mysql 忽略复制的库 另外一点就是不需要指定主库的ip地址 下面简单说一下mysql5.17版本以后主从复制过程: 编辑主库配置文件 vim /etc/my.cnf log-bin=mysql-bin max_binlog_size = 500M server-id=1 binlog-do-db=xxx1 binlog-ign

《快速创建网站》2.1 在Azure上创建网站及网站运行机制

现在让我们开始一天的建站之旅. 本文是<快速创建网站>系列的第2篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 1. 网站管理平台WordPress和云计算平台Azure简介2.1 在Azure上创建网站及网站运行机制2.2 域名绑定操作和Azure负载均衡机制2.3 WordPress 初始化和网站管理功能3.1 WordPress 数据导入3.2 WordPress 多站点支持和Azure在线代码编辑器3.3 WordPress 多语言支持 Multi

Windows azure上创建及绑定自己域名的website

Windows azure已经是一个大家耳熟能详的服务了,IT界目前最多.最受关注的话题是所谓的"云",什么是云,其实真心没有一个合理的答案去解释,对于一个使用者来说,只要功能能满足,那最后的评价肯定是ok的,windows azure的收费确实很高,几乎所有的服务都是收费的.其实说到云服务,也许大家都会说亚马逊.阿里云-但说句实话,亚马逊在云服务器的方面确实做的相当不错,很受关注,但我也基本算是微软的粉丝了吧~,从一开始就基础微软的所有产品,所以还是比较终于微软的产品,加上我们部门的