データベース管理者

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

4
MySQLはUTCタイムをデフォルトのタイムスタンプとして設定します
デフォルト値が現在のUTC時間であるタイムスタンプ列を設定するにはどうすればよいですか? MySQLはUTC_TIMESTAMP()UTCタイムスタンプに関数を使用します。 mysql> SELECT UTC_TIMESTAMP(); +---------------------+ | UTC_TIMESTAMP() | +---------------------+ | 2012-07-01 11:36:35 | +---------------------+ 1 row in set (0.00 sec) だから私は試しました: CREATE TABLE `blah` ( `creation_time` TIMESTAMP DEFAULT UTC_TIMESTAMP, ... その他のバリエーション、、などUTC_TIMESTAMP()が成功していません。

2
回復中のSQL Serverデータベースを停止、オフライン、および削除するにはどうすればよいですか?
再起動時に復旧モードに入り、最近1時間ほど復旧している開発データベースがあります。 回復を停止するか、何らかの方法で強制終了する必要があります。 データベースやデータについては少しも気にしません。展開スクリプトがあります。 何か案は?

2
列ごとの順序にはインデックスが必要ですか?
結果の検索に使用されるインデックスをテーブルに追加しました。ASCまたはDESCの順序で結果を表示しています。その列にはインデックスが必要ですか?そのテーブルにはさらに2つのインデックスがあります。その列にインデックスを作成するかどうかによって、パフォーマンスはどのように影響しますか?

4
VARCHAR列に任意の長さ制限を追加する必要がありますか?
PostgreSQLのドキュメントによるとVARCHAR、VARCHAR(n)との間にパフォーマンスの違いはありませんTEXT。 名前または住所列に任意の長さ制限を追加する必要がありますか? 編集:だまされていない: すべての値が36文字の場合、char vs varcharを使用すると、インデックスルックアップは著しく高速になりますか このCHARタイプは過去の遺物であり、パフォーマンスだけでなく、アーウィンのような他の長所と短所も彼の驚くべき答えで述べています。

1
mysqlテーブルのコメントの変更
mysql テーブルのコメントは、作成時に次のように定義できることを知っています。 create table (...)comment='table_comment'; また、次の方法でコメントを表示できます。 show table status where name='table_name'; 作成後にテーブルのコメントを変更(変更)するにはどうすればよいですか?テーブルをドロップして再作成する必要はありません。
35 mysql  table  comments 

2
SQL Server Developer Editionを使用するのはいつが適切ですか?[閉まっている]
DEVおよびSTAGING環境のサーバークラスマシンでSQL Server Developer Editionを使用していますか? 私は、(概念実証段階に合格した場合)SQL Server 2012 Enterprise Editionを実行する地理的に分散した複数の大規模なエンタープライズクラスのデータベースサーバーを持つ大規模プロジェクトに取り組んでいます。 実稼働環境には最初に3つのサーバーがあり、ステージング環境には少なくとも3つのサーバーがあり、開発環境には1つのサーバー(3つのインスタンスをホストする)があります。 私は、実際の運用サーバーのエンタープライズライセンスを取得するだけでよく、開発環境とステージング環境の開発版では「運用」ではないのでうまくいくと思いました。 他の情報源は、上記のすべてのマシンにエンタープライズライセンスが必要であり、開発者エディションはワークステーションの1人の開発者のみを対象としていることを教えてくれました。 開発者版にはエンタープライズのすべての魅力的な機能があるため、ワークステーションクラスのマシンでは、特に構築している高可用性システムのタイプの開発とテストでは、その価値を実際に見ることはできません。 開発サーバーのエンタープライズライセンスをフォークする必要がある場合、概念実証段階がほぼ終了し、プロジェクトが終了します。ステージング環境でエンタープライズライセンスを強制すると、管理者はステージングを完全にスキップするだけになります。

4
NOLOCKは常に悪いですか?
私は、可能な限り効率的にクエリを作成したいレポート開発者です。以前は、運用サーバーでレポートを処理していたためNOLOCK、すべてのクエリで使用できると言っていたDBAと仕事をしていました。 今、私はNOLOCKどんな状況下でも禁止しているDBAと仕事をしています-私のレポート(いくつかのテーブルのインデックスがかなり不足しているため)がレプリケーションとシステムの更新を停止している場合でも。私の意見では、この場合、a NOLOCKは良いことです。 私のSQLトレーニングのほとんどは、非常に異なる意見を持つさまざまなDBAに来ているので、これを多種多様なDBAに依頼したいと思いました。

1
クエリコストを読み取るにはどうすればよいですか?それは常にパーセンテージですか?
現在、SQL 70-433(Microsoft認定試験)を勉強していますが、「クエリコスト」パフォーマンスメトリックについて非常に混乱しています。 Googleで見つけたドキュメントによると、クエリコストは割合の数字であり、その一部が占めるバッチ全体の割合を表します。私は特定のクエリの絶対的なメリットに興味があるので、これはすでに少し奇妙に思えました。それは、それと一緒に表示される他のクエリに対するメリットよりもむしろメリットです。 しかし、2つの代替クエリを並べて「バッチ」として実行し、コストが50%未満の方が勝者になることを期待しているのかもしれません。 しかし、MicrosoftのSQL 70-433トレーニングキットのレッスン6の第6章でのクエリコストの議論は、これとは何の関係もないようです。 次に例を示します。2つの相関サブクエリを含むクエリを示し、サブクエリをOUTER APPLYに置き換えることでクエリを改善します。結果:「このクエリのコストは約76ですが、最初のクエリのコストはその2倍、約151です。」その後、クエリをさらに改善し、コストを76から3.6に削減します。これらの数値がパーセンテージであることを意味するのではなく、他のクエリを参照せずに、スタンドアロンオブジェクトとしてのクエリに関連する絶対的な数値であることを意味します。とにかく、最初のクエリのコストを151%にするにはどうすればよいでしょうか? この章の後半では、3つの部分からなる実行計画のスクリーンショットを示しています。最初の部分は「コスト:0%」、2番目の部分は「コスト:1%」、最後の部分は「コスト:99%」ですが、スクリーンショットの下のテキスト(本自体)は「このクエリのコストは0.56」です。私はそれらが他の種類のコストを意味すると推測していますが、他の場所でそれを参照することはできません。 誰か助けてもらえますか?私は完全に混乱しています。
34 sql-server  ssms 

1
すべてのT-SQLステートメントの後
各SQLステートメントの後にGOステートメントを使用する理由は何ですか?GOはバッチの終了を通知し、ステートメントの評判を許可しますが、ステートメントごとにそれを使用する利点は何ですか。 声明のたびに多くのマイクロソフトのドキュメントなどが使用を開始したか、気づき始めたばかりかもしれません。 また、ベストプラクティスと見なされるものは何ですか?

4
MongoDBのfind呼び出しとfindone呼び出しの違い
私はプロジェクトに取り組んでいfindますが、カーソルの動作とカーソルの動作に違いがあるかどうかはわかりませんfindOne。findOneは単なるラッパーfind().limit(1)ですか?私はそれを探していましたが、mongodbに特別な方法があるかどうかを誰かが知っているかもしれません。それが違いを生むのであれば、mongodbのPHP APIを使用しています。
34 mongodb 

2
インデックスが実行を高速化せず、場合によってはクエリが遅くなります。なぜそうですか?
速度を上げるためにインデックスを試していましたが、結合の場合、インデックスはクエリの実行時間を改善せず、場合によっては速度が低下します。 テストテーブルを作成してデータを入力するクエリは次のとおりです。 CREATE TABLE [dbo].[IndexTestTable]( [id] [int] IDENTITY(1,1) PRIMARY KEY, [Name] [nvarchar](20) NULL, [val1] [bigint] NULL, [val2] [bigint] NULL) DECLARE @counter INT; SET @counter = 1; WHILE @counter < 500000 BEGIN INSERT INTO IndexTestTable ( -- id -- this column value is auto-generated NAME, val1, val2 ) VALUES ( 'Name' …
34 sql-server  index 


3
カウントで実行中の合計?
タイトルが示唆しているように、T-SQLで積算合計を取得するためにいくつかの助けが必要です。問題は、私がする必要がある合計がカウントの合計であることです: sum(count (distinct (customers))) カウントを単独で実行した場合、結果は次のようになります。 Day | CountCustomers ---------------------- 5/1 | 1 5/2 | 0 5/3 | 5 私は合計で出力する必要があります: Day | RunningTotalCustomers ---------------------- 5/1 | 1 5/2 | 1 5/3 | 6 coalesceメソッドを使用する前に合計を実行しましたが、カウントは実行しませんでした。私はカウントを持っているので、今それを行う方法がわかりません。
34 sql-server  t-sql 

1
PostgreSQLクエリをベンチマークするにはどうすればよいですか?
PostgreSQL用に作成したユーザー定義関数を含むクエリのベンチマークを行いたいです。そのようなベンチマークを実行する標準的な方法はありますか? 私はタイミングが\timingpsqlプロンプトでオンにできることを知っていますが、理想的にはすべてを自動的に処理するスクリプトが欲しいです:クエリを数回実行し、各実行後にPostgreSQLキャッシュをクリアします(おそらくPostgreSQLの再起動によって)サービス)、および平均実行時間(および使用されるメモリはプラス)を出力します。

1
SQL ServerのSLEEP_TASK待機タイプ-それは何を示していますか?
私はSLEEP_TASK前に待機タイプを見たことがありません、そして今日、私はそれらのトンを得ているようです。 私は公式のDBAではなく、DBAの知識があるSQL Server開発者です。先週末、サーバーを10.52.2500.0-R2SP1にアップグレードしました。 オンラインで見つけた情報はすべて、SLEEP_TASKサーバーが何らかの内部プロセスの完了を待っていることを示しています。チェックポイントやゴーストクリーンアップなどのブロッキングプロセスやバックグラウンドプロセスが実行されていないため、少し困惑しています。 この待機タイプを以前に見たことがありますか?

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