1

「選択」を行うときにMySQLはどのようにメモリを使用しますか? MySQL が選択された列のみをロードでき、残りの列でメモリを無駄にしないというのは正しいですか?

たとえば、テーブルがあります1.article ID, 2.article content, 3.publish date, 4. edit time, 5. author ID, 6.with_image (binary, 1:yes, image attached, 0:no image).

記事の内容はvar(5000)で、実際の平均サイズは2000くらいです。

このようにテーブルを維持するのは良い考えですか?article_ID & article_content テーブルから分離する必要がありますか?

私の考えは、(もし) MySQL が選択された列のみをロードでき、残りのメモリを無駄にしないということです。次にSELECT article_id,author_id,publish_date,edit_time FROM thistable WHERE author_id=requirement ORDER BY publish_date DESC,edit_time DESC limit 50、article_id リストを取得するために使用します。次に、SELECT article,article_id WHERE article_id= リストを使用して、最終結果を取得します。

私はどういうわけか非常に間違っていますか?そして、何を修正する必要がありますか?ありがとうございました。

4

1 に答える 1

1

私には良さそうです-はい、クエリはテーブルから必要な列を取得するだけです-私はMySqlの専門家ではありませんが、おそらく可能な限り多くのデータベースをキャッシュしようとするので、メモリについて心配する必要はありませんサーバー側。クライアントはクエリされたデータのみを受け取ります (クエリはサーバー上で実行され、結果はネットワーク経由で返されます)。

よほどの理由がない限り、テーブルを 2 つに分割する必要はありません。多くの場合、単一のテーブルに列が大量にあることが、テーブルを複数のテーブルにリファクタリングする理由ですが、現在の列の数では問題ないように見えます

于 2012-06-12T08:41:09.713 に答える