ホームページ  >  記事  >  データベース  >  mysql とミリ秒レベルのクエリを使用した 10 億レベルの cmd5 データベースの構築について (完全なプロセス)

mysql とミリ秒レベルのクエリを使用した 10 億レベルの cmd5 データベースの構築について (完全なプロセス)

藏色散人
藏色散人転載
2020-04-22 13:18:015827ブラウズ

前書き:

私も最近データベースをいじっていますが、データベースに関しては普通のマシンではまだ少し遅れていると感じています。遅い場合は 1 分以上。

しかし、cmd5 ライブラリは非常に優れており、ミリ秒レベルの 10 億レベルのデータベースです。

さて、始めましょう。まず、mysql データベースが必要です。

環境:

apmserv5.2.6 php+mysql 
Navicat for MySQL

この 2 つのソフトウェアをお勧めします。インストールは非常に簡単で、どちらも中国語なので、初心者でも簡単に操作できます。

他に必要なものは、コンピューターと約 10 GB のハード ドライブの空き容量です。大きめの辞書です。

mysql とミリ秒レベルのクエリを使用した 10 億レベルの cmd5 データベースの構築について (完全なプロセス)

# 最初の部分を開始しましょう。Navicat for MySQL 接続を開きます。これは非常に簡単です。ここではスクリーンショットを撮りません。

推奨事項: 「mysql ビデオ チュートリアル

テーブル、hash_cmd5、フィールド、プレーンテキスト、cmd5_16、cmd5_32

の作成を開始します。 empty 、最初のビットは 255、2 番目のビットは 16、3 番目のビットは 32 ビットです。

mysql とミリ秒レベルのクエリを使用した 10 億レベルの cmd5 データベースの構築について (完全なプロセス)

#データのインポートを開始します。非常に簡単です。図を参照して自分で理解するだけです。

mysql とミリ秒レベルのクエリを使用した 10 億レベルの cmd5 データベースの構築について (完全なプロセス)

#独自のデータベース ソースを参照し、エンコーディングを設定します。

mysql とミリ秒レベルのクエリを使用した 10 億レベルの cmd5 データベースの構築について (完全なプロセス)

#独自のデータベース コンテンツを参照してください。

mysql とミリ秒レベルのクエリを使用した 10 億レベルの cmd5 データベースの構築について (完全なプロセス)

#4 番目と 5 番目の部分は直接スキップできます。

6 番目のステップを開始します。平文を設定するだけでよく、他のフィールドを設定する必要はありません。ただし、前提条件としてデータベース内で見つかった平文を選択する必要があります。そうしないと意味がありません。

mysql とミリ秒レベルのクエリを使用した 10 億レベルの cmd5 データベースの構築について (完全なプロセス)

#ステップ 8 に直接進み、データをインポートします。

実際に試してみましょう。次のステップでは、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

一部の専門家にとっては、これはメソッドが不安定などで、単一のマシンでテストした場合、6 億の単一テーブルに圧力はかかりません。

以上がmysql とミリ秒レベルのクエリを使用した 10 億レベルの cmd5 データベースの構築について (完全なプロセス)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。