sql >> データベース >  >> RDS >> Mysql

URLのデータ型

    あなたの質問は想像力に大きく委ねられています。

    1つには、インデックスの目的が重複を避けるための主キーとして機能することであると想定する必要があります。 「申し訳ありませんが、1800文字のデータ入力に誤りがあります。一致しません。もう一度やり直してください」とユーザーに言うアプリケーションを開発することはありません。

    別のこととして、あなたのこれらのURLには潜在的に多くのCGIパラメータ(?param =val&param =val&param =val)が含まれていると想定する必要があります。

    これらの仮定が正しい場合は、次のことができます。

    1. 必要に応じて、varcharとしてURL列を長くします。

    2. テーブルにSHA-1ハッシュ列を追加します。 SHA-1ハッシュは、40文字(16桁)の文字列で構成されます。

    3. その列を主キーにします。

    4. テーブルにデータを入れるときは、mySQLSHA1関数を使用してハッシュ値を計算します。

    5. INSERT ... ON DUPLICATE KEY UPDATE mySQLコマンドを使用して、データベースに行を追加します。

    これにより、うまくスケールアップする方法で混乱することなく、重複するURLをデータベースから除外できます。

    http://dev.mysql.com/doc /refman/5.1/en/insert-on-duplicate.html



    1. データのダンプ中の外部キーの制約

    2. Amazon RDS Aurora vs RDS MySQL vs MySQL on EC2?

    3. GROUPBY句のないMySQL集計関数

    4. WindowsXPでMySQLサーバーを起動する方法