データベース管理者

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

4
スキーマの変更がどのように発生したかを判断しますか?
昨日何か悪いことが起こりました。 少し前に作成されたビューは、最終的にレポートを破った誰かによって変更されました。残念ながら。誰かが(故意または無意識のうちに)PRODUCTIONデータベースでこの変更を行いました。 私の質問:この変更を誰(ユーザー名)が行ったかを知ることができる方法(スクリプト/ソフトウェア/フリーウェアなど)があり、そのユーザーの本番データベースへのアクセスを取り消すことができます。 私の質問が不明な場合は、コメントしてください。
21 sql-server  view 

6
mysqldumpからのデータの読み込み速度が遅い
約30のテーブルを持つ適度なサイズのMySQLデータベースがあり、そのうちのいくつかは1,000万レコード、およそ1億レコードです。mysqldump(別のファイルに)すべてのテーブルのは、かなり速いです多分20分かかります。約15GBのデータを生成します。最大のダンプファイルは2GBの範囲です。 別のボックス、6コア、8GBマシンのMySQLにデータをロードすると、永遠に時間がかかります。簡単に12時間以上。 私はファイルをロードするためにmysqlクライアントを実行しています、すなわち mysql database < footable.sql mysqldumpから直接ファイルを直接 mysqldump database foo > footable.sql 明らかに私は何か間違ったことをしている。妥当な時間内に終了できるように、どこから始めますか? ダンプでもロードでもスイッチを使用していません。
21 mysql  mysqldump 

5
テーブルのエイリアシングは悪い習慣ですか?
マスターオブインフォメーションサービスの学生向けのDBMSコースでこれを学習したことを覚えています。入力を節約するために、次のように入力できます。 SELECT t1.id, t2.stuff FROM someTable t1 INNER JOIN otherTable t2 ON t1.id=t2.id ; しかし...ストアドプロシージャなどでこれが受け入れられるのはなぜですか?非常に短い時間を節約しながら、ステートメントの可読性を損なうだけであるようです。これを行う機能的または論理的な理由はありますか?曖昧さを削除するのではなく、追加するようです。この形式を使用するために私が見ることができる唯一の受け入れられる理由はFROM someTable idsTable、テーブル名が十分に説明的でない場合に、意味的に意味のあるエイリアスを追加していた場合です。 テーブルのエイリアシングは悪い習慣ですか、これは単に有用なシステムの誤用ですか?

6
データベースの設計とプロトタイプを作成するための優れたツールはありますか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、データベース管理者のStack Exchangeのトピックになるようにします。 5年前に閉鎖されました。 すべてのテーブル、列、データ型、およびリレーションを含むデータベーススキーマを設計するための優れたツールが必要です。今日、私は主にペンと紙でこれを行いますが、良いデザインツールでやりたいです。 優れた(そしておそらく無料の)データベース設計ツールはありますか?

1
MySQL innodb_flush_method変数に関する説明
まず、私はハードディスクの内部動作について非常に無知であると認めることから始めましょう。そのため、変数innodb_flush_methodのマニュアルを読み終えると、混乱しました。O_DSYNCとO_DIRECTの違いと、それがデータベースサーバーのパフォーマンスの問題であるかどうかを知る方法について、素人の言葉で説明してもらえますか。 私のセットアップに関するいくつかの統計:MySQL 5.1.49-64bitを実行しているMac OSX 10.6(アーキテクチャが古いため、32ビットカーネル)(メモリを使用できることを望みます)。8GB RAM、最大6GBのinnodbデータ/インデックス。
21 mysql  innodb 

4
一部のDBMSで特定のDDLステートメントのロールバックが許可されないのはなぜですか?
最近、MySQL が「alter table」などのDDLのロールバックをサポートしていないことがわかりました。サポートしない技術的な理由はありますか?それは単に彼らにとって「面白くない」機能ですか? 編集:この比較が見つかりました。トランザクションDDLをサポートする多くのDBMSがあるようです。


3
同じサーバーでInnoDBとMyISAMテーブルを混在させることは一般的な習慣ですか?
8GBのRAMを搭載したサーバー上で実行される約4.5GBの単一のデータベースがあります。テーブルの大部分はMyIsam(約4.3GB)ですが、すぐにその一部をInnoDBに変換する予定です。(最初は最も書き込み量の多いテーブルに焦点を当てた遅いプロセスになります)。 両方のタイプのストレージエンジンが存在する専用サーバーの実行に問題はありますか?

4
RDBMSで「インデックス」とはどういう意味ですか?[閉まっている]
ここで何が尋ねられているかを伝えるのは難しいです。この質問は曖昧、曖昧、不完全、過度に広範、または修辞的であり、現在の形式では合理的に答えることができません。この質問を明確にして、再開できるようにするには、ヘルプセンターに アクセスしてください。 8年前に閉鎖されました。 私はほとんどの開発者が行うようにインデックスを使用します(主に...よく!インデックス)が、インデックスを使用してデータベースを最適化する微妙な方法がたくさんあると確信しています。DBMSの実装に固有のものかどうかはわかりません。 私の質問は次のとおりです。インデックスの使用方法の良い例は何ですか(基本的な明らかな場合を除く)。また、テーブルにインデックスを指定すると、DBMSはどのようにデータベースを最適化しますか?
21 index  rdbms 

13
認定の価値[非公開]
閉じた。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して事実と引用で答えられるように質問を更新してください。 6年前に閉鎖されました。 ご質問 どのような認定を取得していますか? あなたの認定(または認定の欠如)は、あなたのために、またはあなたのために働いたことがありますか? 認証を求めるつもりですか? 認定資格を更新しますか?もしそうなら、あなたの雇用主は積極的に更新をサポートしていますか?
21 career 

14
快適なsqlplusインターフェイス?
私が見つかりました。sqlplusインターフェイスはかなり古くなっています」。いくつかのコマンドまたはキーワードを自由に使用できるのは非常に便利ですが、たとえば、以前の履歴エントリの「矢印」キーは使用できません。 良い置換/拡張とは何sqlplusですか?GUIまたはそれ以上(SSHを介して引き続き有用)のコマンドラインユーティリティである可能性があります。 SQL * Plusは、Oracle Databaseで動作するメインのコマンドライン・ツールです。
21 oracle  tools  sqlplus 

1
ハッシュキープローブと残差
次のようなクエリがあるとします。 select a.*,b.* from a join b on a.col1=b.col1 and len(a.col1)=10 上記のクエリがハッシュ結合を使用し、残差があると仮定すると、プローブキーはにcol1なり、残差はになりますlen(a.col1)=10。 しかし、別の例を見ると、プローブと残差の両方が同じ列であることがわかりました。以下は、私が言おうとしていることの詳細です。 クエリ: select * from T1 join T2 on T1.a = T2.a プローブと残差が強調表示された実行計画: テストデータ: create table T1 (a int, b int, x char(200)) create table T2 (a int, b int, x char(200)) set nocount on declare @i int …

2
同じコミットされていないトランザクションに挿入されたデータを選択できますか?
たぶんこれは愚かな初心者の質問ですが、どこにも答えが見つかりません。どこでもTransaction Isolation、同時トランザクション内のデータの可視性を解決する方法について読んでいます。私の懸念は、単一のトランザクション内の動作です。 トランザクションを開始し、いくつかのデータを挿入した場合、すぐにそれらを選択できますか?まだ同じ、まだコミットされていないトランザクション内ですか?はいの場合、この動作は、並行トランザクションの場合の前述のトランザクション分離と同様の方法で変更できますか? 具体的には、PostgreSQL 9.4をターゲットにしています。

1
SQL Server 2014 ExpressのSQLCMD.EXEはどこにありますか?
「SQLCMD.EXE」を使用してSQL Server Expressデータベースを何年もバックアップしていましたが、2014バージョンをインストールした後、SQLCMD.EXEがなくなったことを発見しました。 以前のバージョンでは、次の場所にありました。 C:\ Program Files \ Microsoft SQL Server \ 110 \ Tools \ Binn \ SQLCMD.EXE しかし、2014年のインストールでは、SQLCMD.EXEは存在しません C:\ Program Files \ Microsoft SQL Server \ 120 \ Tools \ Binn 私の質問: SQLCMD.EXEをSQL Server Express 2014に取り込むチャンスはありますか?

3
テーブル値関数のアクセス許可を付与する方法
私はそれを正しくやっていますか...? 私はお金を返す関数を持っています... CREATE FUNCTION functionName( @a_principal money, @a_from_date datetime, @a_to_date datetime, @a_rate float ) RETURNS money AS BEGIN DECLARE @v_dint money set @v_dint = computation_here set @v_dint = round(@v_dint, 2) RETURN @v_dint END GO Grant execute on functionName to another_user Go これがiTVFに変換できるかどうか疑問に思っていますか? 私はこれを試しましたが、エラーが発生しました: CREATE FUNCTION functionName ( @a_principal money, @a_from_date …

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