mysql 中文字段名_mysql搭建亿级cmd5数据库,毫秒级查询(完整过程)

5a4c870c3aaf22257fcaf73043b935a2.png

php中文网最新课程

每日17点准时技术干货分享

7965f692013c1c8d4059da0bf4ef8066.png

15162bff48cf2a475b0ba34871f9f8ce.gif

前言:

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

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

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

环境 :

apmserv5.2.6 php+mysql Navicat for MySQL

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

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

ee054e352cb618a30ae90131e117b42e.png

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

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

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

c9a76f1bc666c1ef905a6ad6d27680ec.png

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

17de245dd4e430131986a34f4859cd49.png

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

6cebbfc72a3cb40b0f967327d1677f73.png

参考自己的数据库内容。

fb6f7b8810703c0f47a36bcc06972e88.png

第四,五部直接跳过。

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

d8dae60b38539bd2b79243d947bad703.png

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

大家自己试试吧,下一步教大家批量生成 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位 md5update `hash` set cmd5_16 = substr(md5(plaintext), 1, 16) where 1=1update `hash` set cmd5_32 = md5(plaintext) where 1=1

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

bb4a76d9b14a372f4ffa436e20a87b19.png

17dcdc69f849c60e355893758f2bb940.png

e4a0c23a83e916a77327941b949da828.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值