Rumah > pangkalan data > tutorial mysql > 关于mysql搭建亿级cmd5数据库,毫秒级查询(完整过程)

关于mysql搭建亿级cmd5数据库,毫秒级查询(完整过程)

藏色散人
Lepaskan: 2020-04-22 13:18:01
ke hadapan
5891 orang telah melayarinya

前言: 

最近也在玩数据库,感觉普通机子搞数据库,还是差了点,全文查找,慢的要查一分钟更久。 

但是搞cmd5库很不错,亿级数据库,毫秒级。 

好吧,下面开始,首先你得需要一个mysql数据库。

环境 : 

apmserv5.2.6 php+mysql 
Navicat for MySQL
Salin selepas log masuk

推荐这两个软件,安装非常简单,都是全中文,所以方便新手操作。

需要的其他东西,电脑一个, 10GB左右的硬盘空间。一个大点的字典。

0dea0d0caf40098ff18c104abc641cb.png

下面开始第一部分,打开Navicat for MySQL连接,很简单,这里就不截图了。

推荐:《mysql视频教程

开始建表, hash_cmd5,字段,plaintext,cmd5_16,cmd5_32

都设置为不为空,第一个255,第二个16, 第三个 32位。

dea427b0918f086080cd003cc94458c.png

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

75a1e4644e07bcc40a32837f5f0c63c.png

参考自己的数据库源,设置编码

1ab032c047ac89b0d04b3929288f2d7.png

参考自己的数据库内容。

83f1897ed2bebbbc6fad8ee378162c3.png

第四,五部直接跳过。

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

0a17bdaee25b9b083330b43ff3b7c3d.png

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

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

高速单表导入

假如:你的文本文件在d:\aa.txt

表名: t

字段名:c

则是下面的命令

mysql> load data local infile 'd:/aa.txt' into table cmd5 lines terminated by ',' (cmd5_txt);
Salin selepas log masuk

一键创建 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
Salin selepas log masuk

  

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

Atas ialah kandungan terperinci 关于mysql搭建亿级cmd5数据库,毫秒级查询(完整过程). Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:cnblogs.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan