前書き:
私も最近データベースをいじっていますが、データベースに関しては普通のマシンではまだ少し遅れていると感じています。遅い場合は 1 分以上。
しかし、cmd5 ライブラリは非常に優れており、ミリ秒レベルの 10 億レベルのデータベースです。
さて、始めましょう。まず、mysql データベースが必要です。
環境:
apmserv5.2.6 php+mysql Navicat for MySQL
この 2 つのソフトウェアをお勧めします。インストールは非常に簡単で、どちらも中国語なので、初心者でも簡単に操作できます。
他に必要なものは、コンピューターと約 10 GB のハード ドライブの空き容量です。大きめの辞書です。
# 最初の部分を開始しましょう。Navicat for MySQL 接続を開きます。これは非常に簡単です。ここではスクリーンショットを撮りません。
推奨事項: 「mysql ビデオ チュートリアル 」
テーブル、hash_cmd5、フィールド、プレーンテキスト、cmd5_16、cmd5_32
の作成を開始します。 empty 、最初のビットは 255、2 番目のビットは 16、3 番目のビットは 32 ビットです。
#データのインポートを開始します。非常に簡単です。図を参照して自分で理解するだけです。
#独自のデータベース ソースを参照し、エンコーディングを設定します。
#独自のデータベース コンテンツを参照してください。
#4 番目と 5 番目の部分は直接スキップできます。 6 番目のステップを開始します。平文を設定するだけでよく、他のフィールドを設定する必要はありません。ただし、前提条件としてデータベース内で見つかった平文を選択する必要があります。そうしないと意味がありません。 #ステップ 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 サイトの他の関連記事を参照してください。