データベース管理者

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

2
個別のスキーマを使用すると、SQL Server 2008のパフォーマンスにどのような影響がありますか?
SQL Server 2008データベースで、目的の異なるオブジェクトに個別のスキーマを使用したい。今のところ、テーブルやストアドプロシージャの目的を示すためにかなり気の遠くなるような命名規則を使用しており、プレフィックスは、一意の名前の始まりを確認する前に5つまたは6つのxharacterをスキャンする必要があることを意味します。UIを駆動するためだけに使用されるテーブル(メニュー、ユーザー別の役割など)と、ディメンションテーブルとファクトテーブルなどのスキーマに別々のスキーマを使用したいと思います。 私の質問は、複数のスキーマ(スキーマ?)を使用することによるパフォーマンスへの影響はありますか?

3
SQL Server 2008 / R2復旧モデル
特定のサーバー上のほとんどすべてのデータベースは完全復旧モデルを必要とせず(トランザクションログのバックアップは行いません)、デフォルトでは常にデータベースを作成して単純復旧モデルを指定する必要があります。 多くの場合、特定の実際的な理由により、SSMSを使用して多くのデータベースが作成されます。ただし、ミスが発生する可能性があり、オペレーターは単純復旧モデルの指定を忘れることがあります。これにより、数日後、切り捨てられなかった60 GBのログファイルが3つまたは4つあるために、ボックスがディスク領域に苦しむ「驚き」が生じます。 シンプルリカバリモデルを新しいデータベースのデフォルト設定にするには、modelデータベースでリカバリモデルを構成します。しかし、これが推奨されますか?これを行うと、将来的に戻って何らかの形で私に噛まれる可能性がありますか?

1
PLS-00306エラー:間違った引数を見つける方法は?
PLS-00306: 'string'へのコールで引数の数またはタイプが間違っています 原因:このエラーは、名前付きサブプログラムの呼び出しが、そのサブプログラム名の宣言と一致しない場合に発生します。サブプログラム名のスペルが間違っているか、パラメータのデータ型が間違っているか、宣言に誤りがあるか、宣言がブロック構造に正しく配置されていない可能性があります。たとえば、このエラーは、組み込み平方根関数SQRTが、スペルの間違った名前または誤ったデータ型のパラメーターで呼び出された場合に発生します。 処置:サブプログラム名の綴りと宣言を確認してください。また、呼び出しが正しいこと、パラメータが正しいデータ型であること、組み込み関数でない場合は、宣言がブロック構造に正しく配置されていることを確認してください。 どうすれば間違った引数をすばやく特定できますか? 何十ものパラメータを持つストアドプロシージャがあります。使用された手順と定義された手順の違いを確認する簡単な方法はありますか?行ごとにチェックしたくない。

2
開発者がDBAの知識のどの領域を掘り下げる必要がありますか?[閉まっている]
現在のところ、この質問はQ&A形式には適していません。回答は事実、参考文献、または専門知識によってサポートされると予想されますが、この質問は議論、議論、世論調査、または広範な議論を求める可能性があります。この質問を改善し、場合によっては再開できると思われる場合は、ヘルプセンターをご覧ください。 8年前に閉鎖されました。 質問がかなり広いことを認めなければならないので、少し絞ってみます。私たちの会社では3〜4人の開発者がおり、SQL Serverベースのインストールをお客様のサイトで実行しています(データベースサイズは最大100GB、最大同時ユーザー数100、イントラネットアプリケーション)。私たちの誰もが、(何であれ)データベースの実行/保守/管理について本当に良い経験をしていません。顧客はそれほどでもありません。これまでは問題なく動作していますが、すべてが適切に行われているためなのか、私たちが熟練していない領域や状況に達しなかったためなのか、はっきりとはわかりません。 ですから、DBAの視点からデータベースを実行する際に知っておくべき重要なことを探しています。あなたは難しい事実を知っており、一日の仕事であなたの日に最も重要なことを知っています。 どの科目でより深い知識を収集する必要がありますか、何を聞いたことがありますか、また最初に直面するまで気にしないことができますか? Software Engineers and DBAsという質問は承知していますが、私が探していたものではありません。周りにもたくさんの本がありますが、実務経験のある方から是非お願いします。

2
シャーディングは小さなコレクションに効果的ですか?
膨大なコレクションがある場合、データベースのシャーディングは素晴らしいようです。かなりサイズのコレクションがたくさんある場合はどうなりますか?10万000のドキュメントのコレクション(それほど大きなコメントではない)に対して、シャーディングが効果的であるとしましょう。また、それぞれ10 000ドキュメントの10 000コレクションにも有効ですか? (この質問は、コレクションをテーブルに置き換え、ドキュメントを行に置き換えた場合でも、テーブル指向のデータベースでは引き続き有効だと思います。可能であれば、理論的な答えと、理論的なものと異なる場合は、特定のMongoDBシナリオでの答えを知りたいです回答。)
11 mongodb 

3
SQL Serverの起動を遅らせる方法
SQL Serverを起動するとき、SANドライブはまだ利用できない場合があります。SQL Serverの起動を1分遅らせる方法はありますか?現在、サーバーを起動した後、SQL Serverを再起動する必要があります。

2
SARGabilityに関する質問
私は私が何かを正しく理解していることを確認する必要があります: 私は最近、ユーザーがLinqに次のような回答を投稿したSO質問を表示しました。 from p in db.table where p.column.AddMinutes(1) > DateTime.Now select p Linqに不慣れな方には、そのステートメントの出力(公平にテストされていません)は次のようになると思います。 SELECT * FROM table t WHERE DATEADD(min, 1, t.column) >= GETDATE() 私はこれに対する返信を投稿し、日時操作は変数(この場合はGETDATE())に対して行う必要があるため、実際にはステートメントは次のようなものを反映する必要があります。 SELECT * FROM table t WHERE t.column >= DATEADD(min, -1, GETDATE()) 私の返答で、私が今確信していないビットは、次のように仮定します: 列の操作のため、インデックスは使用されません 上記の理由により、クエリプランは一部異なります(テストされていないため、テストされています)。 上記のため、最初のクエリは実際には2番目のクエリよりもパフォーマンスが低下します。 私の質問: 私の推論で何かを逃したことがありますか?私は正しいですか?最後に、SARGabilityに関する優れた記事がある団体はありますか?
11 performance  linq 

4
データベース設計におけるフィールドサイズの過大評価
文字列であるテーブル用のフィールドがいくつかありますが、現時点では、ほとんどのフィールドサイズにかなりの文字数制限があります。たとえば、ストリート名は100文字です。大きなフィールドサイズを使用するとペナルティはありますか?たとえば、このフィールドの制限を30文字に変更した場合、サイズによってパフォーマンスが向上するか、効率が向上しますか?収縮の候補となる可能性のある約50のフィールドがあります。 あなたの提案をありがとう。
11 sql-server 


2
Oracle 11gR2で、マテリアライズドビューを作成したのと同じユーザーでドロップできないのはなぜですか?
DI_TEST_ALユーザーでマテリアライズドビューを作成しましたMY_MVIEW。名前を付けましょう。USER_OBJECTSテーブルにと表示され、MATERIALIZED VIEWドロップしようとすると、成功メッセージが表示されますが、オブジェクトはまだそこにあります。実際、それを再作成しようとすると、「オブジェクトはすでに存在しています」などのエラーが発生します。 別のスキーマに属する同じ名前のテーブルがあることがわかります。それは問題を引き起こさないと思いますが、私はそれについて言及したいと思いました。 SQL * Plusの出力は次のとおりです。 SQL*Plus: Release 11.2.0.1.0 Production on Mon Aug 1 17:01:50 2011 SQL> select object_name, object_type, owner from all_objects where object_name = 'MY_MVIEW'; OBJECT_NAME OBJECT_TYPE OWNER ----------- ----------------- ---------- MY_MVIEW MATERIALIZED VIEW DI_TEST_AL MY_MVIEW TABLE DIDEV11 SQL> DROP MATERIALIZED VIEW MY_MVIEW; Materialized view dropped. SQL> select …

2
@table_variableまたは#temp_table
129列の大きなユーザー定義のテーブル型変数があります。このテーブル変数に一度に約2000〜3000個のレコードを格納し、それをさまざまなストアドプロシージャと関数に渡して、追加のデータを取得して変更を加えます。これらの追加データと新しい変更は、同じタイプの新しいテーブル変数に格納され、OUTPUTパラメーターを介してソースストアドプロシージャに返されます。(これは、テーブルタイプのパラメーターをとしてのみ渡すことができるためREADONLYです。) これは私の疑似コードです: SP1 @tmp tableType { INSERT @tmp EXEC SP2 (@tmp) INSERT @tmp EXEC SP3 (@tmp) } @table_variableまたはを使用する必要があり#temp_tableますか?

3
MySQLレプリケーションは高レイテンシの相互接続の影響を受けますか?
異なるデータセンターに常駐する標準的なマスターとスレーブのMySQLセットアップと、マスターと同じデータセンターにある別のスレーブがあります。 データセンター間の帯域幅はかなり高くなっていますが(ネットワークベンチマークでは、15MB /秒に達する可能性があります)、レイテンシが存在し、約28msです。決して高くはありませんが、同じデータセンターの1秒未満のレイテンシよりもはるかに高くなります。 ローカルスレーブが最新の状態であるときに、削除スレーブで重大な遅延(2000秒以上)が発生する場合があります。遅れているリモートスレーブを見ると、SQLスレッドは通常、IOスレッドがリレーログを更新するのを待つ時間を費やしています。マスターは同時に「ネットを待っている」またはある種の何かを示します。 つまり、それはネットワークであることを意味しますが、これが発生した時点ではまだ帯域幅に空きがあります。 私の質問は、データセンター間のレイテンシがレプリケーションのパフォーマンスに影響を与える可能性がありますか?スレーブioスレッドは、マスターが送信を停止するまでイベントをストリーミングするのですか、それともイベント間でマスターをプールするのですか?

1
スキーマ内のテーブルサイズを見積もる方法(Oracle)
スキーマ内のテーブルサイズ(MB単位)を推定しようとしています。これは私がこれまでに持っているものです: SELECT table_name, owner, last_analyzed FROM all_tables 私はSQLにかなり慣れていないので、どうすればこれを回避できるかわかりません。 ありがとうございました。
11 oracle 

1
XtraBackupとrsyncの違いは何ですか?
はい、両方でstraceを実行します...しかし、知りたいのですが... XtraBackupはrsync -ac src destに加えて何をしていますか? XtraBbackupの何が特別なのですか? XtraBackupはmysqldとどのように相互作用しますか?
11 mysql  backup  percona 

1
非エンタープライズ版とパフォーマンスのnoexpandヒント
パフォーマンスを上げるには、インデックス付きビューを使用する必要があります。この比較表からわかるように、Standard Editionはインデックス付きビューをサポートしていません。しかしBOLは言う: インデックス付きビューは、SQL Serverのどのエディションでも作成できます。SQL Server Enterpriseでは、クエリオプティマイザーは自動的にインデックス付きビューを考慮します。他のすべてのエディションでインデックス付きビューを使用するには、NOEXPANDテーブルヒントを使用する必要があります。 それでうまくいくでしょう(私はパフォーマンスについて話している) select * from dbo.OrderTotals with (noexpand, index=IXCU_OrderTotals) SQL Server Standardエディションと同様に select * from dbo.OrderTotals エンタープライズ版では? ビューのコードは次のとおりです。 CREATE VIEW dbo.OrderTotals WITH SCHEMABINDING AS select OrderId = r.OrderId , TotalQty = SUM(r.Quantity) , TotalGrossConsid = SUM(r.Price * r.Quantity) , XCount = COUNT_BIG(*) from dbo.Order r …

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