ホームページ >バックエンド開発 >PHPチュートリアル >近くを通ったらお見逃しなく!経験のある方にシェアしていただければ幸いです。
近くを通ったらお見逃しなく!経験のある方にシェアしていただければ幸いです。
ユーザー登録と問い合わせについての質問です。システムに 1,000 万人のユーザーがいる場合、1 つのテーブルにそれほど多くのユーザーを保存する必要はありません。
さらにユーザー テーブルを作成します。各ユーザー テーブルには 10,000 人のユーザーを保存できます。これには 1,000 個のテーブルが必要です。
ユーザーがログインしたとき、1万件のデータから検索する場合と、1,000万件のデータから検索する場合では、必然的に速度が異なります。
しかし、このユーザーが 1,000 個のユーザー テーブルの中のどのテーブルに属しているかをどうやって知ることができるのでしょうか?
どのテーブルにクエリ ステートメントが含まれているかをすぐに知ることができれば、パスワードが正しいかどうか、ログインが成功したかどうかを判断できます。
登録する際、6 ~ 18 文字の文字、数字、アンダースコアの組み合わせがデータベースに存在しない限り、ユーザーは正常に登録できます。
しかし、ajax を使用して、1,000 のユーザー テーブルからユーザーの存在を確認することもテストです。ここはどうやってデザインすればいいのでしょうか?
これは QQ 番号の申請とは異なります。QQ 番号は Tencent によって与えられるため、番号セグメントがどのテーブルにあるかを確実に知ることができます。
皆さんの経験を共有していただければ幸いです。どうもありがとうございます! 青字で書かれた質問が 2 つあります。ご意見をいただければ幸いです。
-----ソリューションアイデア----------------------
37種類の英数字+下線。文字 (大文字と小文字を区別する場合) は 63 種類あります (ただし、データベース文字列の比較では大文字と小文字が区別されず、区別するにはバイナリ モードとして指定する必要があります)
最初の 2 桁をキーとして、37 * を使用します。 37 = 1369、すでに 1000 個の時計のアイデアを満たすことができます
//设用户名为<br />$username = 'abcd';<br />//构造表名<br />$tbl_name = 'U' . substr($username, 0, 2);<br />//则查询串为<br />$srl = "select * from $tbl_name where username='$username'";<br />