問題タブ [database-design]
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 - ストアドプロシージャが多すぎませんか?
ストアドプロシージャが多すぎるということはありますか?
私はあなたが持つことができる数に制限がないことを知っていますが、これは数百、数千を作成しないパフォーマンスまたはアーキテクチャ上の理由ですか?
sql - インデックスにはどのような種類があり、それぞれの利点は何ですか?
インデックスにはどのような種類があり、それぞれの利点は何ですか?
カバリング インデックスとクラスター化インデックスについて聞いたことがありますが、他にもありますか? それらをどこで使用しますか?
sql - 特定のクエリ用にテーブルをどのように最適化しますか?
- 頻繁なクエリを判断するために使用するパターンは何ですか?
- 最適化要因をどのように選択しますか?
- どのような種類の変更を行うことができますか?
sql - 追加のために SQL Null をゼロに設定
SQL クエリ (MS Access) があり、2 つの列を追加する必要がありますが、どちらも null である可能性があります。例えば:
ここで、Column3 または Column4 は null の場合があります。この場合、null をゼロと見なしたい (so 4 + null = 4, null + null = 0
)。
これを達成する方法について何か提案はありますか?
sql - SQL クエリで分割された日付範囲を組み合わせる
日付範囲に基づいていくつかのデータ行を組み合わせる必要があるクエリに取り組んでいます。これらの行は、日付範囲が分割されている場合を除き、すべてのデータ値で重複しています。たとえば、テーブル データは次のようになります。
クエリの結果には、分割された日付範囲が結合されている必要があります。クエリは、日付範囲を 1 日のみのギャップで結合する必要があります。1 日以上のギャップがある場合は、行を結合しないでください。分割された日付範囲を持たない行は変更されないはずです。結果は次のようになります
このクエリの SELECT ステートメントは何ですか?
database-design - データベースを設計する際に留意すべき重要なことは何ですか?
データベースを設計する際に留意すべき重要なことは何ですか?
他の人もあなたの洞察から恩恵を受けることができると確信しているので、あなたの答えを私のニーズに限定したくありません. しかし、マルチクライアント コミュニティ主導のサイト用のコンテンツ管理システムを計画しています。
database - データベースインデックスの数が多すぎますか?
私はかなり大きなOracleデータベースを使用するプロジェクトに取り組んでいます(私の質問は他のデータベースにも同様に当てはまりますが)。ユーザーがフィールドのほぼすべての可能な組み合わせを検索できるWebインターフェイスがあります。
これらの検索を高速化するために、ユーザーが一般的に検索すると思われるフィールドとフィールドの組み合わせにインデックスを追加しています。ただし、お客様がこのソフトウェアをどのように使用するかはよくわからないため、作成するインデックスを特定するのは困難です。
スペースは問題ではありません。4テラバイトのRAIDドライブがあり、そのほんの一部しか使用していません。ただし、インデックスが多すぎるとパフォーマンスが低下する可能性があるのではないかと心配しています。これらのインデックスは、行が追加、削除、または変更されるたびに更新する必要があるため、1つのテーブルに数十のインデックスを配置するのは悪い考えだと思います。
では、いくつのインデックスが多すぎると見なされますか?10?25?50?それとも、本当に、本当に一般的で明白なケースをカバーし、他のすべてを無視する必要がありますか?
sql - サブクエリと結合
別の会社から継承したアプリケーションの遅いセクションをリファクタリングして、次のようなサブクエリの代わりに内部結合を使用しました。
リファクタリングされたクエリは、約 100 倍速く実行されます。(約 50 秒から約 0.3 秒) 改善を期待していましたが、なぜ劇的な改善になったのか説明できる人はいますか? where 句で使用される列はすべてインデックス化されています。SQL は、行ごとに 1 回、where 句でクエリを実行しますか?
更新- 結果の説明:
違いは、「where id in ()」クエリの 2 番目の部分にあります。
vs 結合を含む 1 つのインデックス付き行:
ruby-on-rails - 変更履歴を追跡するためのデータベース構造
個人的なプロジェクトとしてプロジェクト管理システムのデータベース設計に取り組んでいますが、問題が発生しました。
チケットシステムを実装したいのですが、チケットを Tracのチケットのように見せたいと思っています。このシステムを複製するには、どの構造を使用しますか? (どのシステムにも trac のインストールに成功したことがないので、実際に何をしているのかわかりません)
注:どのバージョンでもチケットを保存または表示しようとすることに興味はありません。変更履歴だけが必要です。余分なデータを保存したくありません。また、テキスト フィールドでシリアル化された配列を使用して、このような機能を実装しました。私はそれを解決策として二度と実装したくありません。
編集: データベース構造のみを探しています。トリガー/コールバックは実際には問題ではありません。
database-design - リレーショナルキャンプと「現実世界」のデータベース開発
1995年にDate'sとDarwenの「 TheThirdManifesto」が最初に発行されてから、10年以上が経過しました。
今日のデータベースの世界では、リレーショナルスクールの考え方はどこにありますか?マニフェストのアイデアが主流のソフトウェア開発とデータ管理の慣行を変えたという証拠はありますか?彼らは新しいデータ管理製品の作成を促進しましたか?これらの製品は商業的に成功していますか?