ホームページ > バックエンド開発 > PHPチュートリアル > 基本的な関連する質問が常にありましたが、それでも解決したいと思っています。 mysql はデータベース ストレージを読み取ります。ダンダンダン

基本的な関連する質問が常にありましたが、それでも解決したいと思っています。 mysql はデータベース ストレージを読み取ります。ダンダンダン

WBOY
リリース: 2016-06-13 12:52:44
オリジナル
783 人が閲覧しました

基本的な疑問はずっとありましたが、それでも解決したいと思っています。 mysql はデータベース ストレージを読み取ります。 。 。ダン ダン ダン

この投稿は xianglei1130 によって最終編集されました (2013-03-04 14:50:06) 私は長い間この問題を抱えていましたが、今日はとても興奮しているので、皆さんとこの問題について話し合うために投稿します。

自分のスキルが凡庸であることは分かっているので、文句は言わないでください、エビ。

つまり、さまざまなフィールドを持つ合計レコード テーブル A がある場合、sid title content link....

次に、この個人が所有するテーブル A のデータを記録するためのフィールド id name sid (テーブル A の sid) を持つ個人レコード テーブル、テーブル B があります。

ここで問題が発生します。テーブル B「Zhang San」にテーブル A に 10 個のレコードがある場合、10 個の sid をシンボルと組み合わせてテーブル B の sid に格納します。それとも 10 個のレコードを生成してテーブル B に保存しますか?





取得を考えると、最初の方法は当然、explode を使用して B テーブルの sid を分割し、次に A テーブルをループしてクエリしてデータを取得する方法です。 2 番目の方法は、ID のすべてのレコードを直接検索してループアウトすることです。

では、どの方法が良いのでしょうか?データベース プログラムのあらゆる側面から。どう説明していいか分かりませんが、アドバイスを頂ければ幸いです。 。 。
データベース ストレージ mysql
-----解決策--------------------------------
1. シンボル (,) を組み合わせてテーブル B に SID を格納できます。クエリを実行する場合は、find_in_set(A.sid,B.sid)
この状況では、B.sid が十分に大きい必要がありますが、10 ではなく 1,000 または 10,000 の場合はどうなるでしょうか
2. 各 sid は B に格納できます。クエリの場合、A.sid=B.sid
ばかげているように見えますが、うまくいきます
3. 上記の解決策は、A.sid がパブリックであること、つまり複数のユーザーが同じ A.sid を所有できることを前提としています。例: 友達、フォロー
A.sid がユーザーに対して非公開である場合 (
の投稿など) 次に、所有権を記録するために uid フィールドを A に追加する必要があります
------解決策-----
2 番目の爆発は簡単です。3 番目の爆発では、多くの操作を自分で行う必要があります
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート