データベース管理者

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

1
PostgreSQLで文字列を倍精度に変換するにはどうすればよいですか?[閉まっている]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、データベース管理者のStack Exchangeのトピックになるようにします。 4年前に閉鎖されました。 PostgreSQLで文字列を倍精度に変換するにはどうすればよいですか? 私は次のようなものを試しました: update points set latitude2 = cast(latitude as double) ; ここで、緯度は文字列で、緯度2はdoubleです。うまく動かせない。
19 postgresql 

3
SQL Serverログファイルの縮小はパフォーマンスにどのように影響しますか?
この質問は、データベース管理者のStack Exchangeで回答できるため、Stack Overflowから移行されました。 8年前に移行され ました。 サイズが2GBのデータファイルを持つSQL Server 2008データベースがありますが、ログファイルは8GBを超えています。2008年以前のデータベースでは、「バックアップログ」とTRUNCATE_ONLYオプションを使用できましたが、2008以降のデータベースでは使用できなくなりました。 ログファイルを切り捨てるスクリプトがあります。 USE [MyDatabase] GO ALTER DATABASE [MyDatabase] SET RECOVERY SIMPLE WITH NO_WAIT DBCC shrinkfile('MyDatabase_log', 1) ALTER DATABASE [MyDatabase] SET RECOVERY FULL WITH NO_WAIT GO これはログファイルを完全に切り捨てますが、私の質問は次のとおりです。これはパフォーマンスに影響しますか? 私は毎日2回のフルバックアップを実行しているため、データのロールフォワードに関する限り、ログは実際には必要ありません。


3
列名の命名規則とベストプラクティス
列の命名に関しては、ベストプラクティスに関する専門家の意見をいくつかお願いします。 背景は、ウィキペディアによると、次の構文、 SELECT ... FROM Employees JOIN Timesheets USING (EmployeeID); より効率的です SELECT ... FROM Employees JOIN Timesheets ON (Employees.EmployeeID = Timesheets.EmployeeID); ただし、JOIN ... USING構文はグローバルに一意の名前を持つすべての主キー列でのみ機能します。したがって、これは正しいことと考えられているのだろうか。 個人的に、私はいつもPK column id、および外部キーcolumnを持つテーブルを作成するために使用していましたothertable_id。しかし、その方法ではUSINGまたはを使用することはできませんNATURAL JOIN。 デザインスタイルへのリンクまたはテーブルデザインのベストプラクティスガイドも歓迎します。

5
主キーに独自の名前があるのはなぜですか?
数学的な観点から、テーブルには多くても1つの主キーがあると認められるため、単純なテーブルプロパティではなく、任意の名前で主キーを参照するという近視眼的な設計決定のようです。 主キーを非クラスター化からクラスター化、またはその逆に変更する結果として、まずその名前を検索し、削除してから最後に読み取ります。 表示されない任意の名前を使用することには利点がありますか、またはプライマリキーに任意の名前を使用しないDBMSがありますか? 2011年 2月22 日の編集(2011年 2月22日、日付を並べ替えたくない人向け): テーブル名から主キーの名前を導出できる関数を示しましょう(初期のsql-sever別名sybaseシステムテーブルを使用): create function dbo.get_pk (@tablename sysname) returns sysname as begin return (select k.name from sysobjects o join sysobjects k on k.parent_obj = o.id where o.name = @tablename and o.type = 'U' and k.type = 'k') end go gbnは、明示的な名前を指定しない場合、生成された名前を本当に好きな人はいないと述べています。 create table example_table ( id …


9
Standard EditionのOracle Databaseパフォーマンスを監視するツール[終了]
閉まっている。この質問はトピック外です。現在、回答を受け付けていません。 この質問を改善したいですか? 質問を更新して、データベース管理者のStack Exchangeのトピックになるようにします。 2年前に閉店。 私が探しているものは次のとおりです。 Standard Edition、つまり診断パックなしで動作します。 現在および過去のパフォーマンスデータを提供します。 トレンドを簡単に見つけて経営陣に提示するための優れたビジュアル。 このツールを使用したことがある場合、あなたが発見した長所と短所に興味があります。リストを思い付くことができますが、実際にツールを使用したという洞察ははるかに価値があります。

3
SQLクエリコードの繰り返しを防ぐために、文字列を連結したり、手続きを行ったりする代わりになりますか?
免責事項:データベースを使用する作業時間のごく一部としてのみ、私と一緒に我慢してください。(ほとんどの場合、仕事でC ++プログラミングを行いますが、奇数月ごとにOracleデータベースで何かを検索/修正/追加する必要があります。) アドホッククエリとアプリケーションに組み込まれたクエリの両方で、クエリの大部分が「コード」を繰り返しただけの複雑なSQLクエリを繰り返し書く必要がありました。 伝統的なプログラミング言語で、そのような憎むべきを書く深いトラブルにあなたを得るでしょう、まだI(Iは)まだSQLクエリコードの繰り返しを防ぐために、まともな手法を見つけることができませんでした。 編集:最初に、元の例に優れた改善を提供してくれた回答者に感謝します。ただし、この質問は私の例に関するものではありません。SQLクエリの反復性についてです。そのため、これまでの回答(JackP、Leigh)は、より良いクエリを作成することで反復性を減らすことができることを示す素晴らしい仕事をしています。ただし、その場合でも、明らかに削除できない反復性に直面します。これは、常にSQLに悩まされます。「従来の」プログラミング言語では、コードの反復性を最小限に抑えるためにかなり多くのリファクタリングを行うことができますが、SQLでは、これを可能にする(?)ツールはないようです。 Oracleタグを再度削除したことに注意してください。これは、データベースやスクリプト言語が存在しないかどうかに興味があるためです。 今日私が一緒に石畳を作ったそのような宝石の一つです。基本的に、単一のテーブルの列セットの違いを報告します。次のコードをざっと読んでください。最後に大きなクエリ。以下に続きます。 -- -- Create Table to test queries -- CREATE TABLE TEST_ATTRIBS ( id NUMBER PRIMARY KEY, name VARCHAR2(300) UNIQUE, attr1 VARCHAR2(2000), attr2 VARCHAR2(2000), attr3 INTEGER, attr4 NUMBER, attr5 VARCHAR2(2000) ); -- -- insert some test data -- insert into TEST_ATTRIBS values ( 1, …


4
Oracleを搭載したSSD
テスト移行の実行を高速化するために、OracleでSSDを使用することを検討してきました。現在、移行の実行を完了するのに12〜18時間かかり、データ量に依存しています(明らかに多くのパフォーマンス調整も行っています)。さまざまな実行や分析に使用している安価なLinuxボックスが多数あります。 デルから直接のSSDのコストは法外です。消費者向けSSD(Crucial / Micronなど)の使用経験がある人はいないかと思いました。 Linuxでは、CIMを使用してTRIMサポートが問題になることを認識しています。誰かがこれに対抗するためにWindows 7でそれらを使用しましたか?

4
ORMを使用する場合、データベース設計で注意すべき点は何ですか
オブジェクトリレーショナルマッパー(ORM)ウィキペディアを使用してデータベースにアクセスすることがわかっている場合に注意すべきデータベース設計の落とし穴は何ですか?Entity Framework NHibernateまたはLLBLGenProも参照してください。 例として、SqlServerのRPC呼び出しの2100パラメーターの制限に注意してください。これは、LLBLgenを使用し、複合主キーが使用されているときにテーブルを結合する場合の問題です。複合キーのMSDN記事を参照してください。
19 performance  orm 

4
SQL Server Expressのタスクスケジューラ
SQL Server 2008 R2 Expressエディションのデータベースで動作するASP.NET MVCアプリがあります。データベース内の一部のレコードを更新するには、定期的なタスクを実行する必要があります。 残念ながら、Express EditionにはSQLエージェントがありません。 どのアプローチをお勧めしますか?

5
SQL Server-レポート用の別のデータベース?
この質問は、データベース管理者のStack Exchangeで回答できるため、Stack Overflowから移行されました。 7年前に移行され ました。 SQL Serverには、各Webアプリ用のデータベースがあります。レポートには、Reporting Servicesを使用し、すべてのレポートデータ(レポートパラメーターを含む)はストアドプロシージャから取得します。 ストアドプロシージャは、レポート内のデータと同じデータベースにあります。したがって、たとえば、Stockレポートを提供するprocはStockデータベースにあります。一部のレポートには、複数のデータベースからの情報が表示され、procはそれらのソースデータベースのいずれかになります。レポートパラメータは、店舗、従業員などのデータを持つエンタープライズデータベースのプロシージャからデータを取得します。 つまり、すべてのレポートには、少なくともエンタープライズデータベースへの接続と別のデータベースへの別の接続があり、場合によってはそれ以上の接続があります。 私の質問は、レポートプロシージャを別の「レポート」データベースに移動することの利点があります。レポートを別のサーバーに移動することの利点を知っていますが、それについては話していません。これは同じサーバー上にあります。 これに影響する可能性のあるものは次のとおりです。 レポートに複数のデータベース接続があると、レポートの速度に影響しますか? レポートプロシージャをデータとは別のデータベースに配置すると、インデックス付きビューを使用できなくなりますか? 別のデータベースでレポートを管理する方が簡単/難しいと感じましたか? ご意見をお聞かせください。

2
MySQLのVARCHARデータ型とTEXTデータ型の違いは何ですか?
バージョン5.0.3(VARCHARを65,535バイトにすることができ、末尾のスペースの切り捨てを停止した)の後、これら2つのデータ型に大きな違いはありますか? 私は違いのリストを読んでいたのですが、注意すべき点は2つだけです。 BLOBおよびTEXTカラムのインデックスの場合、インデックスプレフィックス長を指定する必要があります。CHARおよびVARCHARの場合、プレフィックスの長さはオプションです。セクション7.5.1「カラムインデックス」を参照してください。 そして BLOB列とTEXT列にDEFAULT値を含めることはできません。 TEXTデータ型にはこれら2つの制限があるため、なぜvarchar(65535)で使用するのでしょうか?一方のパフォーマンスが他方のパフォーマンスに影響しますか?

6
SQL Server“ Denali”とは何ですか?新着情報?
MSDNのドロップダウンリストでSQL Server "Denali"という新しいタイトルを見つけましたが、それに関する多くの情報は見つかりませんでした。 新機能(このドキュメントはプレビュー用です) SQL Server "Denali"のトップ9の新機能 このリリースの新機能や重要なバグ修正に関する詳細情報はありますか?私は誰かがそれを使用またはテストしたことを望んでいます。 新機能 シーケンス 拡張FILESTREAM(Eric Humphreyに感謝) OFFSET&FETCH(ORDER BY句) メモリマネージャーの変更 LAG(..)およびLEAD(..).. OVER(Partition By..Order By)句(gbnに感謝) アーロンのリスト

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