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

独自のTinyURLを作成する

    小さなurlリンクをトロールするだけでは不十分なため、小さなurlの人々はランダムトークンを使用するのが好きです。 「#2はどこに行くの?」 "かっこいい、イケてる!" 「#3はどこへ行くの?」 「もっと涼しい!」ランダムな文字を入力することはできますが、有効な値に達する可能性はほとんどありません。

    キーはかなりまばらであるため(それぞれ36 *の可能性がある4つの値は1,679,616の一意の値を提供し、5は60,466,176を提供します)、衝突の可能性は低く(実際、これは設計の望ましい部分です)、優れたSQLインデックスによりルックアップは簡単です(実際、URLのプライマリルックアップであるため、URLを中心に最適化されます)。

    ルックアップを避けて自動インクリメントを解除したい場合は、整数を一見ランダムな文字列に変換し、元に戻す機能を備えた関数を作成できます。したがって、「1」は「54jcdn」になり、「2」は「pqmw21」になります。 Base64エンコーディングに似ていますが、連続した文字を使用しません。

    (*)私は実際には36文字未満を使用するのが好きです。シングルケース、母音、および類似の文字(1、l、I)は使用しません。これにより、偶発的な冒とく的な言葉が防止され、誰かが他の誰かに価値を話しやすくなります。 「O」の代わりに「0」を使用して、類似した文字を相互にマッピングすることもできます。完全にマシンベースの場合は、大文字と小文字、およびすべての数字を使用して、さらに大きな可能性を引き出すことができます。



    1. MySQLを使用したスト​​アドプロシージャの初心者向けガイド?

    2. 既存のテーブルの特定の位置に列を挿入するにはどうすればよいですか?

    3. MySQLのINTとUUIDの違い

    4. 'MySql.Data.MySqlClient'ADO.NETプロバイダーのEntityFrameworkプロバイダーが見つかりません