ヘルプ: mysql は指定された ID 順序に基づいてどのように結果を見つけますか?
親愛なるマスターの皆さん、今私は問題に遭遇したので、あなたの助けが必要です。
投稿テーブル:記事テーブルの2つのテーブルがあります。
レコードテーブル: ユーザーの読書順序を記録するために使用されるレコードテーブル。
ここで、レコードテーブルの postid に基づいて post テーブル内の記事を検索する必要があります。 (読む順序は「第 1 条、第 2 条、第 2 条、第 3 条、第 3 条」で繰り返し記事を許可するとします。)
私は
から始めました。
リーリー
現在必要なビジネス ロジックは次のとおりです:
1: ユーザーの読書記録に基づいて、投稿テーブル内の記事を検索します。
2: 重複は許可されます。
注: FOR ループの使用を検討してください
リーリー
でも効率が心配です。返信内容:
親愛なるマスターの皆さん、今私は問題に遭遇したので、あなたの助けが必要です。
投稿テーブル:記事テーブルの2つのテーブルがあります。
レコードテーブル: ユーザーの読書順序を記録するために使用されるレコードテーブル。
レコードテーブルはフィールドpostidを使用して、ユーザーが記事を読んだ順序に従って投稿テーブルの主キーIDを記録します。つまり、record.postidの外部キーはpost.idです。
ここで、レコードテーブルの postid に基づいて post テーブル内の記事を検索する必要があります。 (読む順序は「第 1 条、第 2 条、第 2 条、第 3 条、第 3 条」で繰り返し記事を許可するとします。)
私は から始めました。
リーリー
検索結果では、postid1、postid2、postid3 の記事のみが見つかります。
現在必要なビジネス ロジックは次のとおりです:
1: ユーザーの読書記録に基づいて、投稿テーブル内の記事を検索します。2: 重複は許可されます。
例えば、ユーザーが読んだ記事の閲覧順が「記事1、記事2、記事2、記事3、記事3」だった場合、postテーブルの検索結果は、post.id1、postとなります。 .id2、post.id2、post.id2、post.id3。
注: FOR ループの使用を検討してください
リーリーでも効率が心配です。
投稿 P から P.*
を選択
LEFT JOIN Record R ON R.PostID = P.ID
R.ID ASC で注文
Recordテーブルは読み取り順序を記録するため、Recordテーブルの順序に従ってソートする必要があります
これはアイデアを提供します。in を使用してデータベースからデータを取得し、map を使用して対応する関係を確立します。map.put(postid, post)。あとはID順に取り出して必要なデータ型を組み立てます

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











MySQLとPHPMyAdminは、強力なデータベース管理ツールです。 1)MySQLは、データベースとテーブルを作成し、DMLおよびSQLクエリを実行するために使用されます。 2)PHPMyAdminは、データベース管理、テーブル構造管理、データ操作、ユーザー許可管理のための直感的なインターフェイスを提供します。

IISとPHPは互換性があり、FastCGIを通じて実装されています。 1..phpファイル要求を構成ファイルを介してFastCGIモジュールに転送します。 2. FASTCGIモジュールは、PHPプロセスを開始して、パフォーマンスと安定性を改善するための要求を処理します。 3。実際のアプリケーションでは、構成の詳細、エラーデバッグ、パフォーマンスの最適化に注意する必要があります。

MySQLでは、外部キーの機能は、テーブル間の関係を確立し、データの一貫性と整合性を確保することです。外部キーは、参照整合性チェックとカスケード操作を通じてデータの有効性を維持します。パフォーマンスの最適化に注意し、それらを使用するときに一般的なエラーを避けてください。

MySQLとMariaDBの主な違いは、パフォーマンス、機能、ライセンスです。1。MySQLはOracleによって開発され、Mariadbはフォークです。 2. Mariadbは、高負荷環境でパフォーマンスを向上させる可能性があります。 3.MariaDBは、より多くのストレージエンジンと機能を提供します。 4.MySQLは二重ライセンスを採用し、MariaDBは完全にオープンソースです。既存のインフラストラクチャ、パフォーマンス要件、機能要件、およびライセンスコストを選択する際に考慮する必要があります。

SQLはリレーショナルデータベースを管理するための標準言語であり、MySQLはSQLを使用するデータベース管理システムです。 SQLは、CRUD操作を含むデータベースと対話する方法を定義しますが、MySQLはSQL標準を実装し、ストアドプロシージャやトリガーなどの追加機能を提供します。

Javaのプラットフォームの独立性とは、書かれたコードがJVMが変更なしでインストールされた任意のプラットフォームで実行できることを意味します。 1)JavaソースコードはBytecodeにコンパイルされ、2)BytecodeはJVMによって解釈および実行されます、3)JVMは、プログラムが異なるオペレーティングシステムで実行されることを確認するために、メモリ管理とガベージコレクション機能を提供します。

MySQLは、迅速な開発や中小規模のアプリケーションに適していますが、Oracleは大規模な企業や高可用性のニーズに適しています。 1)MySQLはオープンソースで使いやすく、Webアプリケーションや中小企業に適しています。 2)Oracleは強力で、大企業や政府機関に適しています。 3)MySQLはさまざまなストレージエンジンをサポートし、Oracleは豊富なエンタープライズレベルの機能を提供します。

MySQLまたはOracleの選択は、プロジェクトの要件に依存します。1。MySQLは、オープンソース、無料、使いやすさのため、中小規模のアプリケーションやインターネットプロジェクトに適しています。 2。Oracleは、その強力で安定した高度な機能のため、大企業のコアビジネスシステムに適していますが、高コストです。
