問題タブ [database-partitioning]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mysql - MySQLでの「Partition」キーワードの使用は何ですか?
私はMySQLの初心者なので。PARTITION
このMySQLステートメントではどういう意味ですか?
mysql - mysql パーティショニング
データベース パーティションがデータベース レベルでのみ実装されていることを確認したいだけです。パーティション化されたテーブルをクエリするときは、通常のクエリを実行します。クエリに特別なことは何もありません。最適化はクエリの解析時に自動的に実行されます。それでよろしいですか?
たとえば、「country_code」と「city」という列を持つ「address」というテーブルがあります。したがって、米国ニューヨークのすべての住所を取得したい場合、通常は次のようにします。
テーブルが 'country_code' でパーティション分割されている場合、クエリは country_code = US を含むパーティションでのみ実行されることがわかっています。私の質問は、SQL ステートメントでクエリするパーティションを明示的に指定する必要がありますか? または、以前のステートメントをまだ使用していて、db サーバーが自動的に最適化しますか?
前もって感謝します!
database-design - データベース設計 - データを複数のテーブルに分割するのはいつですか?
私は動物のテーブルを持っています:
動物
ID 名前
1 犬
2 猫
3 ウサギ
各動物にはポートフォリオがあるため、データベース テーブルを定義する方法は 2 つあります。
方法 1:
ポートフォリオ
ID AnimalId 日付
1 1 01/01/2001
2 2 20/03/2009
3 3 05/03/2009
4 1 01/04/2005
方法 2:
DogPortfolio
ID 日付
1 2001 年 1 月 1 日
2 2005 年 1 月 4 日
CatPortfolio
ID 日付
1 2009/03/20
Rabbitポートフォリオ
ID 日付
1 2009/05/03
どの方法が好ましいですか?これは不自然な例であり、実際にはポートフォリオごとに最大 10,000 行のデータを保存することに注意してください。
mysql - データの各グループの最新の行を見つける方法
解決するのに最も効果的な方法を見つけようとしているというトリッキーな問題があります。
これが私のビュー構造の簡略化されたバージョンです。
表:監査
これから必要なクエリが3つあります。すべてのデータを取得するには、1つにする必要があります。次に、履歴データ(つまり、AuditEndDateによって最新のデータ項目を除外する以外のすべて)のみを取得し、最後のクエリは(AuditEndDateによって)最新のデータ項目を取得することです。
特定のユーザーグループが特定の日付の間でしか見ることができない日付制限(これはユーザー/グループごとにあります)があるという複雑さの追加の層があります。これは、where句でAuditEndDate<=blahおよびAuditStartDate>=blahとして認識されます。
出版物ごとに、利用可能なすべてのデータを選択します。
パブリケーションごとに、すべてのデータを選択しますが、利用可能な最新のデータを除外します(AuditEndDateによる)
パブリケーションごとに、利用可能な最新のデータのみを選択します(AuditEndDateによる)
したがって、現時点では、クエリ1と3は正常に機能しますが、クエリ2は制限ではなくすべてのデータを返すだけです。
誰か助けてもらえますか?
ありがとう
ジェイソン
sql - テーブルの分割
通常のアプローチと比較して、テーブルのパーティショニングを使用することはどのくらい有利ですか?
プロセスの有用性を統計的に強調できるサンプルケースまたは詳細な比較分析のようなものはありますか (これは強すぎる言葉であることは承知していますが、いくつかの数字で示されていると非常に役立ちます)。
sql - SQL Server: 私を悩ませているグループ化の質問
私は 10 年近く SQL Server を使用してきましたが、このグループ化 (またはパーティション分割、またはランキング...答えが何であるかわかりません!) に困惑しています。それも簡単なものであるべきだと感じます。私の問題を一般化します:
従業員が 3 人いるとしましょう (彼らが辞めるかどうか心配する必要はありません... 常に 3 人います)。
ご覧のとおり、私は 1 か月目と 3 か月目に同じ割合を支払いましたが、2 か月目はアリスに同じ 25% を与えましたが、バーバラは 50%、クレアは 25% を受け取りました。
私が知りたいのは、私がこれまでに与えたすべての異なるディストリビューションです。この場合、1 か月目と 3 か月目に 1 つ、2 か月目に 1 つ、合計 2 つになります。
結果は次のようになると思います (注: ID やシーケンサーなどは関係ありません)。
簡単そうですよね?私は困惑しています!誰でもエレガントなソリューションを持っていますか? この質問を書いているときにこのソリューションをまとめただけですが、うまくいくようですが、もっと良い方法があるかどうか疑問に思っています。あるいは、私が何かを学ぶ別の方法かもしれません。
ありがとうございます!-リッキー
sql - MAX()およびMAX()OVER PARTITION BYは、TeradataQueryでエラー3504を生成します
各コースコードの最後に完了したコース日付と、各従業員の全体的な最後に完了したコースコードを含む結果テーブルを作成しようとしています。以下は私の質問です:
このクエリは次のエラーを生成します。
MAX()OVER(PARTITION BY ...)行を削除すると、クエリは正常に実行されるため、問題をその行に切り分けましたが、これらのフォーラムとインターネットを検索した後、自分が何をしているのかわかりません。 m間違っている。誰か助けてもらえますか?
sql-server - SQLサーバーテーブルパーティション
テーブルの作成やプロシージャなどのSQLサーバーの基本しか知りません。SQLサーバーでのテーブルのパーティション分割について知りたいです。本当にシンプルでわかりやすいチュートリアルが欲しいです。テーブルパーティション、インデックスパーティションについて知りたいのですが…。
助けてください。
oracle - Oracle 10g Enterprise Edition for Windows でパーティションを有効にするにはどうすればよいですか?
Oracle 10g Enterprise Editions を Windows XP にインストールしました。デフォルト インストールの一部としてパーティションがインストールされているように見えますが、パーティション機能は有効になっていません。Unix/Linux でパーティションを有効にする手順は見つかりますが、Windows では見つかりません。ローカル マシンで 10g EE のパーティションを有効にすることに成功した人はいますか?
ありがとうティム
sql-server - パーティション分割されたテーブルの選択クエリ
テーブルを分割しましたが、アカウント ID に従って分割されています。つまり、accountid = 1 を持つ行は A パーティションにあり、accountid = 2 を持つすべての行は B パーティションにあります。そのため、条件accountid = 1でクエリを実行すると、SQLサーバーはAパーティションでのみ検索します。
それに別の条件を追加するとします。つまり、where accountid=1 and place="aaa" このクエリはパーティションのみを検索しますか、それともテーブル全体を検索しますか? 助けてください。