0

複数の列を持つ数百万 (3,000 万から 1 億) のレコードがあります。このデータを複数の列に並べ替えて、ページに表示する必要があります。このデータを保存する最良の方法は何ですか?

列 T(id, c1,c2 ... cn) を持つテーブルがあるとします。MYSQL では、このクエリは次のようになります。

T から id を選択 cx、cy limit 1000、1000 で注文

読み取り専用テーブルであると推測できますが、迅速な対応が必要です。

NoSQL データベースでこの問題に利点はありますか?

4

1 に答える 1

1

テーブルが適切にインデックス化されていれば、数百万またはレコードであってもかなり高速です。WHERE some_date < now() テーブルのパーティショニングなどの条件を追加し始めると、テーブルのパーティション化も役立つかもしれませんが、パーティションをニーズに合わせて事前に計画する必要があります。そうしないと、代わりに速度が低下する可能性があります。

NoSQL の利点は速度と柔軟なスキーマですが、数百万のレコードがあるとかなりの量のメモリが必要になります。さらに、Redis のような場合には、ディスクへの書き込み時に fork のためにメモリの 50% を使用できるようにする必要があります。あなたは今、十分に速くなっていませんか?クエリは正しいインデックスにヒットしていますか?

于 2012-10-05T19:34:13.063 に答える