データベース管理者

データベースのスキルを向上させ、コミュニティの他の人から学びたいデータベースの専門家向けのQ&A

3
包含データベースには欠点がありますか?
SQL Server 2012は、データベースに必要なすべて(ほとんどすべて)がデータベース自体に含まれる「包含」データベースの概念を導入しました。これは、サーバー間でデータベースを移動するときに大きな利点を提供します。新しいデータベースを設計するとき、これが私のデフォルトの戦略であるかどうかを知りたいと思います。 MSDNには、包含データベースのいくつかの欠点がリストされており、大きな欠点は、変更の追跡とレプリケーションのサポートが不足していることです。他にありますか?これらの機能を使用しない場合、包含データベースを使用しない理由はありますか?

3
ストアドプロシージャの出力パラメーターとしてのテーブル値パラメーター
ストアドプロシージャの出力パラメーターとして使用されるTable-Valuedパラメーターは可能ですか? ここに、私がコードでやりたいこと /*First I create MY type */ CREATE TYPE typ_test AS TABLE ( id int not null ,name varchar(50) not null ,value varchar(50) not null PRIMARY KEY (id) ) GO --Now I want to create stored procedu whic is going to send output type I created, --But it looks …

5
InnoDBでの単純なSELECTがMyISAMよりも遅いのはなぜですか?
私にはかなり厄介な問題があります。メインデータベースエンジンとしてINNODBを使用し、冗長性のためにgalera-clusterを使用するために前者が必要なため、MyISAMを放棄します。 newbb_postテーブルをコピー(説明が続きます)という新しいテーブルにコピーnewbb_innopostし、InnoDBに変更しました。現在、テーブルには5,390,146それぞれエントリがあります。 新しく起動したデータベースでこれらの選択を実行すると(この時点でキャッシュは関係しません!)、データベースは次の結果を生成します(完全な出力は省略します。結果の並べ替えをデータベースに依頼しないことに注意してください)。 SELECT post.postid、post.attach FROM newbb_post AS post WHERE post.threadid = 51506; 。 。 | 5401593 | 0 | | 5401634 | 0 | + --------- + -------- + セット内の62510行(0.13秒) SELECT post.postid、post.attach FROM newbb_innopost AS post WHERE post.threadid = 51506; 。 。 | 5397410 | 0 | | 5397883 …

3
すべてのテーブルに単一フィールドのサロゲート/人工主キーが必要ですか?
代理キー/人工キーの一般的な利点の1つを理解しています。変更されないため、非常に便利です。これは、「人工」である限り、単一フィールドでも複数フィールドでも同じです。 ただし、各テーブルの主キーとして自動インクリメント整数フィールドを持つことはポリシーの問題のように思われる場合があります。これは常にそのような単一フィールドのキーを持っているのが最良のアイデアですか?なぜですか? 明確にするために、この質問は人工対自然に関するものではなく、すべての人工キーを単一フィールドにする必要があるかどうかに関するものです

7
SQL Serverデータベースがまだ使用されているかどうかを確認するにはどうすればよいですか?
いくつかのデータベースがまだ残っているSQL Serverインスタンスの使用停止を検討しています。 それらがまだユーザーまたはWebアプリケーションによって使用されているかどうかを確認するにはどうすればよいですか? 最終クエリの日付を取得するために実行できるT-SQLクエリを含むフォーラムスレッドを見つけました。動作しているようですが、この情報がデータベースを削除するのに十分かどうかを知りたいです。それは...ですか? 同様に役立つ代替方法がある場合。
33 sql-server  t-sql 

2
再帰共通テーブル式でEXCEPTを使用する
次のクエリが無限行を返すのはなぜですか?EXCEPT句が再帰を終了すると予想していました。 with cte as ( select * from ( values(1),(2),(3),(4),(5) ) v (a) ) ,r as ( select a from cte where a in (1,2,3) union all select a from ( select a from cte except select a from r ) x ) select a from r Stack Overflow に関する質問に答えようとしているときに、私はこれに出会いました。

5
友情のためにリレーションシップテーブルを設計するにはどうすればよいですか?
のA友人であればB、値ABとの両方を保存する必要BAがありますか、それとも1つで十分ですか?両方の方法の長所と短所は何ですか。 私の観察は次のとおりです。 両方を保持する場合、友人からリクエストを受け取ったときに両方を更新する必要があります。 両方を保持しないJOINと、このテーブルで複数の作業を行う必要があるときに困難を感じました。 現在、私は関係を一方向に維持しています。 この場合、どうすればよいですか?何かアドバイス?

2
PKインデックスの列の順序は重要ですか?
同じ基本構造を持ついくつかの非常に大きなテーブルがあります。それぞれにRowNumber (bigint)とDataDate (date)列があります。データは毎晩SQLBulkImportを使用してロードされ、「新しい」データはロードされません-その履歴レコード(エンタープライズではなくSQL標準なので、パーティショニングはありません)。 データの各ビットは他のシステムに結び付ける必要があり、各RowNumber/DataDate組み合わせは一意であるため、それが私の主キーです。 SSMS Table DesignerでPKを定義した方法により、RowNumber最初とDataDate2番目にリストされていることに気付きました。 また、私の断片化は常に非常に高い〜99%であることに気付きます。 今、それぞれDataDateが一度しか表示されないため、インデクサーが毎日ページに追加することを期待していますが、実際にはRowNumber最初に基づいてインデックス付けされているので、他のすべてを移動する必要がありますか? RownumberID列ではなく、外部システムによって(悲しいことに)生成されたintです。それぞれの開始時にリセットされますDataDate。 サンプルデータ RowNumber | DataDate | a | b | c..... 1 |2013-08-01| x | y | z 2 |2013-08-01| x | y | z ... 1 |2013-08-02| x | y | z 2 |2013-08-02| x | y | z ... …

4
本番RDSインスタンスをアップグレードする最適な方法は何ですか?
実稼働システムの一部としてMySQLの小さなRDSインスタンスがあり、IOPSが提供されている中規模のインスタンスにアップグレードしたい。 昔ながらのDBAとして、「スレーブの追加、マスターへの昇格、クライアントの切り替え」メソッドについては知っていますが、AWSは魔法のワンクリックアップグレードパス、つまり「インスタンスのアップグレード」、「提供されたIOPSの追加」を提供することを約束しています。 テストRDSインスタンスでこれを試してみました。ダウンタイムが長すぎます。私見:小規模から中規模のアップグレードでは約5分、提供されたIOPSへの切り替えでは約30分(!!!)。 これは正常な動作ですか? ダウンタイムのない本番RDSでアップグレードを実行する方法はありますか? 「停止、スナップショットの作成、スナップショットからより大きなインスタンスへの復元」方法をお勧めしますか?
33 mysql  amazon-rds 


2
大きなテーブルに新しい列を追加する最良の方法は?
Postgresには7,801,611行の2.2 GBのテーブルがあります。uuid / guid列を追加していますが、その列にデータを入力する最良の方法は何ですか(NOT NULL制約を追加したいので)。 Postgresを正しく理解している場合、更新は技術的には削除と挿入であるため、これは基本的に2.2 gbテーブル全体を再構築しています。また、スレーブが実行されているため、遅れることを望みません。 時間をかけてゆっくりと入力するスクリプトを書くよりも良い方法はありますか?


5
条件の論理演算子OR ANDおよびWHEREの条件の順序
これらの2つのステートメントを調べてみましょう。 IF (CONDITION 1) OR (CONDITION 2) ... IF (CONDITION 3) AND (CONDITION 4) ... 場合はCONDITION 1、IS TRUE、だろうCONDITION 2チェックしますか? 場合はCONDITION 3、IS FALSE、だろうCONDITION 4チェックしますか? 条件についてはどうですかWHERE:SQL ServerエンジンはWHERE句内のすべての条件を最適化しますか?SQL Serverオプティマイザーが条件を正しい方法で解決するために、プログラマは条件を正しい順序で配置する必要がありますか? 追加: リンクを提供してくれたジャックに感謝します。t-sqlコードからの驚きです。 IF 1/0 = 1 OR 1 = 1 SELECT 'True' AS result ELSE SELECT 'False' AS result IF 1/0 = 1 AND …

7
Oracleのデータベースのリストを表示する方法は?
MySQL SHOW DATABASESステートメントに相当するものはありますか? クラスタ内のデータベースを見つけることは可能ですか?つまり、他のシステムのネットワーク上にデータベースが存在しますか? Oracleインストールに存在するファイルを分析して同じものを見つけることはできますか? Oracleシステムへの完全なアクセス資格情報がある場合、存在するすべてのデータベースを列挙するにはどうしますか?
33 oracle 


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.