問題タブ [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.
sql-server - CHECK がヘッダー テーブルにある場合のディテール テーブルの分割ビューの作成
私はドキュメントを読んだり、よくある質問を見たりしてきましたが、これに対する答えが見つかりませんでした。おそらく、それはできないことを意味します. 私の実際の状況はもう少し複雑ですが、この質問のために単純化しようとします. 過去の各年について、それらをリンクする外部キーを持つヘッダー/詳細テーブルがあります。年データはヘッダー レコードにあります。何年にもわたって連結されたすべてのテーブルを照会できるようにしたいと考えています。
「SELECT + UNION ALL」形式に従うビューを設定しました。また、ヘッダー テーブルにチェック制約を設定して、値をそれぞれの年に制限しました。これにより、SQL サーバー クエリ オプティマイザーは、WHERE 句で制限されたクエリを実行するときに、特定のテーブルのみをクエリできます。素晴らしい。この時点まで、この情報は、Partitioned Views を検索することでどこでも見つけることができます。
詳細テーブルで同じようなクエリの最適化を行いたいのですが、わかりません。詳細レコードには、ヘッダー レコードと結合しない限り、それが何年に属しているかを示すものは何もありません。つまり、外部キー制約は、私が外さなければならない唯一の制約です。
私が考えた唯一の解決策は、詳細テーブルに「年」列を追加してから、別の where サブ句をクエリに追加することです。既存の外部キー制約を使用して詳細テーブルの分割ビューを作成するためにできることはありますか?
参照用の DDL を次に示します。
mysql - mysql では、自動インクリメントと別のフィールドで構成される複合主キーを使用できますか? また、私の「mysql パーティショニング」ロジックを批判してください
私は mysql のパーティショニング (テーブルを分割してスケーリングを改善する) を試していますが、テーブルのキーに問題があります。まず、Python のスレッド化されたコメント モジュールを使用しています...ここにスキーマがあります
ID 列 (デフォルトではプライマリ) を削除してこのデータベースを変更し、再度追加したことに注意してください。
基本的に、主キーとして id AND content_type_id が必要です。また、idを自動インクリメントしたい。これは可能ですか?
2 番目の質問です。mysql のパーティショニングについて学習したばかりなので、パーティショニングのロジックが適切かどうか疑問に思っています。67 の異なる content_types があり、これらのコンテンツ タイプの一部 (おそらくすべて) では、コメントを作成できます。私の計画は、コメントされているオブジェクトのタイプに基づいて分割することです。例えば、画像はコメントが多いので、画像に関するあらゆるコンテンツタイプを1つのパーティションに入れ、コメントできる別のコンテンツタイプは「ブログエントリ」なので、それ用に別のパーティションがあり、などなど。これにより、負荷が大きくなるにつれて、これらのパーティションをおそらく専用のマシンに分散させることができます。これまでのところ、この概念についての私の理解はどうですか?
本当にありがとう!
mysql - MySQL パーティションの使用統計
今日、テーブルにパーティショニングを適用しました。各パーティションの統計情報 (パーティションあたりの行数) を確認したいと考えています。
今、私はそれを日付で分割したので、それを介して取得するのは非常に簡単"SELECT COUNT(*) FROM table WHERE date >= ... AND date <= ..."
です...しかし、キーでテーブルを分割するとどうなりますか?
MySQL のオンライン マニュアルを確認しましたが、上記で説明したものと同様のソリューションしか使用していません。より簡単な方法 (または、いわばより派手な方法) が必要です。
乾杯
mysql - MySQL-大きなステージングテーブルを本番テーブルと同期する
4mil以上のレコードを持つテーブルがあります。1日を通してETLプロセスを介してデータで更新されるステージングテーブルがあります。ステージングテーブルが更新されたら、そのデータを本番テーブルと同期する必要があります。現在、INSERT / ON DUPLICATE KEY UPDATEクエリを使用して同期していますが、このテーブルのサイズでは、実行に最大750秒かかります。新しいデータを更新/挿入するためのより効率的な方法はありますか?テーブルのパーティション分割についていくつか読んだことがありますが、それが必要かどうかはわかりません。これをより効率的に達成する方法について誰かが私にいくつかの提案をすることができますか?
c# - SQL Server でテーブルを分割すると、ソフトウェアに影響がありますか?
- 分割テーブルをサポートするには、ソフトウェアを更新する必要がありますか?
- SQL Server のパーティション テーブルはデータベース テーブルを変更しますか?
mysql - MySQLのパーティショニングと結合
これがばかげた質問であるが、これは初めての場合は申し訳ありませんが、いくつかのことを理解するためにいくつかの助けが必要です。現在、mysqlを5.1にアップグレードしているので、mysqlでパーティションを使用できます。私の質問は、テーブルをパーティション化する場合、プルーニングプロセスを含むパーティション化されたテーブルは、結合を使用したクワイアリングで引き続き機能しますか、それとも、パーティションを持つテーブルをクワイアリングするだけの場合、パーティション化は最適ですか?
編集
クエリの例を次に示します。
そして、eventdateフィールドを使用してeventsテーブルにパーティションを設定しています。mysqlは、プルーニングプロセスを含め、イベントテーブルのパーティションを引き続き使用できますか?
oracle10g - 生成されたパラメータとしてパーティション名を持つOracleパーティションを削除する方法
364日より古いパーティションを削除する必要があります。パーティションの名前は「log_20110101」であるため、現在より古いパーティションは
CONCAT('log_',TO_CHAR(SYSDATE -364,'YYYYMMDD'))
今、そのようなステートメントを試してみると、エラーが発生します
-
oracle - Oracle Data Pump Export(expdp)ロックテーブル(または同様のもの)
常にオンラインである必要があるグローバルインデックスを持つパーティションテーブルからデータをエクスポートする必要がありますが、それを行うのに問題があります。データのエクスポートには、Data Pump Export --expdpを使用しており、1つのパーティションのみをエクスポートしています。アクティブなものではなく、最も古いもの。
私のexpdpコマンドは正しいデータをエクスポートし、次のようになります。
データベースを使用するアプリケーションの接続タイムアウトは10秒です。このパラメーターは変更できません。INSERTクエリが10秒以内に終了しない場合、データはバックアップファイルに書き込まれます。
私の問題は、数分間続くエクスポートプロセス中に、一部のデータがデータベースではなくバックアップファイルに保存されることです。理由を知りたいのですが、避けたいです。
パーティションは毎週整理されており、4つのパーティションをアクティブにしています(過去4週間)。すべてのパーティションは最大3GBです。
Oracle11.2を使用しています
mysql - 別のテーブルの列に基づいてMySQLテーブルをパーティション化する
私は、膨大な量のデータを処理する必要がある新しいデータベースの設計に取り組んでいます。これはデータウェアハウスシステムになるため、中央のハブテーブルを中心に編成されます。
このテーブルが非常に大きくなると、「date_time」列に基づいてテーブルをパーティション化する必要があるようです。各パーティションは、たとえば1か月のデータです。ただし、別のテーブルもあります。
この2番目のテーブルには、メインの「ハブ」テーブルに表示されるIDの約90%のレコードが含まれます。'other_data'テーブルと'hub'テーブルをパーティション化し、パーティションを基本的に一致させたいと思います。'hub'テーブルを日付範囲でパーティション化し、次に'other_data'テーブルを同じ日付範囲でパーティション化する方法はありますか?
ありがとう!
hadoop - Hive テーブルを既存のフィールドで分割しますか?
既存のフィールドによる挿入時に Hive テーブルを分割できますか?
日付フィールドと時間フィールドを持つ 10 GB のファイルがあります。このファイルをテーブルにロードし、それらのフィールドをパーティションとして使用する別のパーティション テーブルに挿入して上書きすることはできますか? 次のようなものは機能しますか?
ありがとう!
トラヴィス