mysql搭建亿级cmd5数据库,毫秒级查询 完全过程

Posted robot15

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql搭建亿级cmd5数据库,毫秒级查询 完全过程相关的知识,希望对你有一定的参考价值。

前言: 最近也在玩数据库,感觉普通机子搞数据库,还是差了点,全文查找,慢的要查一分钟更久。 
但是搞cmd5库很不错,亿级数据库,毫秒级。 
qq 944520563
好吧,下面开始,首先你得需要一个mysql数据库,推荐 
环境 : apmserv5.2.6 php+mysql 
            Navicat for MySQL 
推荐这两个软件,安装非常简单,都是全中文,所以方便新手操作。 
需要的其他东西,电脑一个, 10GB左右的硬盘空间。一个大点的字典。 
技术图片
下面开始第一部分,打开Navicat for MySQL连接,很简单,这里就不截图了。 
开始建表, hash_cmd5,字段,plaintext,cmd5_16,cmd5_32 
都设置为不为空,第一个255,第二个16, 第三个 32位。 
技术图片

开始导入数据, 很简单,参考图片,自行琢磨。 
技术图片

参考自己的数据库源,设置编码 
技术图片
    参考自己的数据库内容。 
技术图片

第四,五部直接跳过。 

开始第六步, 只需设置plaintext,其他字段无需设置,但是前提一定要选择找来的数据库明文,不然就没有意义。 
技术图片

直接到第八步开始,就可以导入数据了。 

大家自己试试吧,下一步教大家批量生成 cmd16  32 位的。 

高速单表导入

假如:你的文本文件在d:aa.txt
表名: t
字段名:c
则是下面的命令
 
mysql> load data local infile ‘d:/aa.txt‘ into table cmd5 lines terminated by ‘,‘ (cmd5_txt);

 一键创建 32 16位 md5

 

update `hash` set cmd5_16 = substr(md5(plaintext), 1, 16) where 1=1
 
update `hash` set cmd5_32 = md5(plaintext) where 1=1

  
至于有的大牛说,这个方法不稳定什么的,单机测试,单表六亿毫无压力 

以上是关于mysql搭建亿级cmd5数据库,毫秒级查询 完全过程的主要内容,如果未能解决你的问题,请参考以下文章

亿级数据毫秒级查询!ElasticSearch是怎么做到的?

亿级流量系统架构之如何设计全链路99.99%高可用架构

查询亿级数据毫秒级返回!Elasticsearch 是如何做到的?丨极客时间

Skywalking on the way-千亿级的数据储能毫秒级的查询耗时

Skywalking on the way-千亿级的数据储能毫秒级的查询耗时

Skywalking on the way-千亿级的数据储能毫秒级的查询耗时