データベース管理者

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

1
実行計画は、高価なCONVERT_IMPLICIT操作を示しています。インデックス作成でこれを修正できますか、またはテーブルを変更する必要がありますか?
where句にこのようなreallyい条件を含む、非常に重要で非常に遅いビューがあります。また、結合はvarchar(13)整数のIDフィールドではなく、グロスで遅い結合であることを認識していますが、このビューを使用する以下の簡単なクエリを改善したいと思います。 CREATE VIEW [dbo].[vwReallySlowView] AS AS SELECT I.booking_no_v32 AS bkno, I.trans_type_v41 AS trantype, B.Assigned_to_v61 AS Assignbk, B.order_date AS dateo, B.HourBooked AS HBooked, B.MinBooked AS MBooked, B.SecBooked AS SBooked, I.prep_on AS Pon, I.From_locn AS Flocn, I.Trans_to_locn AS TTlocn, (CASE I.prep_on WHEN 'Y' THEN I.PDate ELSE I.FirstDate END) AS PrDate, I.PTimeH AS …
24 sql-server  view 

7
Oracle-特定のテーブルに対するコミットされていない変更を表示する方法はありますか?
現在、多くのDMLステートメントを実行するバッチプロセスを介してデバッグしていますが、すぐにはコミットしません。トランザクションがコミットされていないときに、別のセッションからの「保留中」の変更を表示できると便利です。これは可能ですか? 例: Insert into table myTable (col1, col2) values ("col1", "col2"); --Somehow view the pending transaction maybe by system view?.... ...other DML statements.... commit;

5
MySQLで条件付きインデックスを作成する方法は?
MySQLのテーブルの特定の範囲またはサブセットをフィルターするインデックスを作成する方法は?知る限りでは、直接作成することはできませんが、この機能をシミュレートすることは可能だと思います。 例:次のNAME行だけの列のインデックスを作成したいSTATUS = 'ACTIVE' この機能は、SQL Serverではフィルター選択されたインデックス、Postgres では部分インデックスと呼ばれます。

1
LANGUAGEおよびDATEFORMATで安全な日付/時刻リテラル形式は何ですか?
それは多くの日付/時刻形式ことを実証することは容易であるほか、以下の2以上が原因SET LANGUAGE、SET DATEFORMAT、またはログインのデフォルト言語に誤解を受けやすいです。 yyyyMMdd -- unseparated, date only yyyy-MM-ddThh:mm:ss.fff -- date dash separated, date/time separated by T Tのないこの形式でさえ、有効なISO 8601形式のように見えますが、いくつかの言語では失敗します。 DECLARE @d varchar(32) = '2017-03-13 23:22:21.020'; SET LANGUAGE Deutsch; SELECT CONVERT(datetime, @d); SET LANGUAGE Français; SELECT CONVERT(datetime, @d); 結果: ドイツ連邦共和国の金型について。 メッセージ242、レベル16、状態3 備デア・Konvertierung eines varchar型-Datentyps einenのdatetime-Datentyp liegtデア・ワートaußerhalbデgültigenBereichsインチ フランセのラングパレドゥラングエストパセ。 Msg 242、レベル16、状態3 変換の種類日付の種類と日付の種類の制限なし。 今、これらは、英語で、月と日を置き換えて、次の日付コンポーネントを定式化したかのように失敗しますyyyy-dd-mm: …

1
運用環境でTempdbを圧縮するベストプラクティス
この質問は、データベース管理者のStack Exchangeで回答できるため、Stack Overflowから移行されました。 5年前に移行され ました。 SQL Server 2008で一時データベースを縮小するときに使用するベストプラクティスは何ですか? 以下を使用するのは危険ですか? use tempdb GO DBCC FREEPROCCACHE -- clean cache DBCC DROPCLEANBUFFERS -- clean buffers DBCC FREESYSTEMCACHE ('ALL') -- clean system cache DBCC FREESESSIONCACHE -- clean session cache DBCC SHRINKDATABASE(tempdb, 10); -- shrink tempdb dbcc shrinkfile ('tempdev') -- shrink db file dbcc shrinkfile …

2
pgAdminが要求するメンテナンスDBとは何ですか?
新しいデータベース接続を追加するためのpgAdminダイアログは、「Maintenance DB」を要求します。 接続できるように、接続するデータベースに設定します(また、接続する権限もあります)。 それでは、なぜ「DB」や「データベース」ではなく「メンテナンスDB」という名前になっているのでしょうか?

1
PostgreSQLにコミットされていないトランザクションがある[アイドル接続がある]かどうかを判断する方法は?
PostgreSQL 9.2のアイドル接続について尋ねたこの質問に対するコメントによると、いくつかのコミットされていないトランザクション(これらのアイドル接続の一部に関連している可能性があります)はパフォーマンスの問題を引き起こす可能性があります。 コミットされていないトランザクションがあるかどうかを判断する良い方法は何ですか(接続している接続がアイドル状態かどうかを知る方法がある場合のボーナスポイント)。 どうもありがとう!

5
MySQLコンソール:Ctrl + Cで私を動かす
MySQLコンソールには、私を夢中にさせる何かがあります。私がヒットするとctrl+をc、現在のコマンドをキャンセルするために、ターミナルの出口を入力しています。 すべてのターミナルIのノウハウで(*nix端末、Python、PostgreSQL)、ctrl+はc現在のコマンドをキャンセルし、ctrl+ dターミナルを終了します。 この問題は2003年に報告されて以来、何度か衝突しています。 次の方法があります: この動作を変更する、または MySQL開発チームにこれが本当に面倒だと確信させますか?


4
InnoDBテーブルの破損をどのように識別しますか?
パーティション化されたいくつかのテーブルがあり、複製されたスレーブにいくつかのインデックスがあります。スナップショット(検証済みの安全な)を新しいスレーブにコピーし、mysqldを5.1.42から5.5.15にアップグレードしてレプリケーションを再開した後、InnoDBがクラッシュし、「Invalid pointer ...」というエラーメッセージが表示されます。 これらのエラーは、ハードウェアとO / Sが異なる2台のサーバーで発生しています。実行後: ALTER TABLE .... COALESCE PARTION n; そのテーブルの問題はなくなります。 私の質問の範囲はより広いですが、それは「InnoDBテーブルの破損をどのように識別するのですか?」です。または「InnoDBテーブルの状態をどのように評価しますか?」である「チェック表」プリクラッシュの問題を特定するために使用できるツールだけですか? 重要かどうかはわかりませんが、実行中にクラッシュが発生しました:バージョン: '5.5.15-55-log'ソケット: '/opt/mysql.sock'ポート:3306 Percona Server(GPL)、Release rel21.0、Revision 158


2
「CONCAT」は認識される組み込み関数名ではありません
クライアントからSQL Server 2012で実行されていることが報告されましたが、最終的な配信の前にテスト用のテストクエリをいくつか配信しました。 「CONCAT」は、認識される組み込み関数名ではありません。 CONCAT()これは、SQL Server 2012で導入された新しい組み込み関数であり、すべて問題なく機能していることを理解していますが、「クエリを実行するユーザーは、 Transact-SQLを実行する権限があります。」したがって、クライアントには、PRODとは異なるバージョンのSQL ServerがDEVにインストールされている可能性が高いことを証明しています。 SELECT/EXECUTE組み込みスカラー値関数のアクセス許可を明確に拒否することに関する情報を見つけることができませんが、それは可能ですが、もしそうなら、ユーザーは同じエラーテキストを受け取りますか?

4
複式簿記データベースの設計
私は会計ソフトウェアを作成しています。複式簿記を実施する必要があります。トランザクションごとに1行と2行の古典的な問題があります。 例を挙げて、両方のシナリオでどのように実装されるかを見てみましょう。 account Cashとaccountを検討してくださいRent。毎月の家賃を支払うと、Cashアカウントから100ドルを口座に振り替えRentます。 トランザクションごとに1行 1行システムでは、このようなトランザクションは次のように保存されます。 取引 tx_id | posting_date 1 | 23/05/2015 transaction_records id | tx_id | credit_account | debit_account | amount 1 | 1 | Cash | Rent | 100.00 トランザクションごとに2行 2行のシステムでは、同じトランザクションレコードをミラーリングして反対のレコードを作成し、両方を合計すると、残高がゼロになります。 取引 tx_id | posting_date 1 | 23/05/2015 transaction_records id | tx_id | type | account | …

3
メンテナンスプランでバックアップデータベースタスクを作成する際の「バックアップセットの有効期限:」オプションの使用方法
データベースのバックアップ中に、「バックアップセットの有効期限:」オプションを使用して、古いデータベースのバックアップを削除/上書きします。このオプションは使用できません。 メンテナンスプランの作成中に「バックアップセットの有効期限が切れる」オプションの使用方法に関するアドバイスを歓迎します。

3
パーティションキーもプライマリキーの一部である必要がありますか?
主キーではない列に基づいてテーブルをパーティション分割していますか?今日、パーティション列を主キーの一部にする必要があるかどうかに関するいくつかの矛盾する情報を読みました。私の腸はノーと言うが、私は100%確信していない。だから質問... パーティション列はプライマリの一部である必要がありますか?どちらの方法がお勧めですか? パーティションキーのインデックスを作成する必要がありますか、それともDBMSが自動的にインデックスを作成しますか?

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