データベース管理者

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

9
NULLを使用する場合と空の文字列を使用する場合
主にMySQLとPostgreSQLに興味がありますが、一般的には次のように答えることができます。 空の文字列とNULLを区別するのに役立つ論理的なシナリオはありますか? 空の文字列を次のように保存するための物理ストレージの意味はどうなりますか? ヌル? 空の文字列? 別の分野? その他の方法で?


4
sqlplusを使用して、独自のtnsnames.oraを変更せずに別のホストにあるOracleデータベースに接続する方法
sqlplusを使用して、別のホストにあるOracleデータベースに接続したい。このページでは、tnsnamesにアイテムを追加して、そのデータベースに接続することを提案しました local_SID = (DESCRIPTION = (ADDRESS = (PROTOCOL= TCP)(Host= hostname.network)(Port= 1521)) (CONNECT_DATA = (SID = remote_SID)) ) そして、それをsqlplusで使用します sqlplus user/pass@local_SID ただし、私の状況では、ローカルtnsnamesを変更することはできません。tnsnamesを変更せずにsqlplus引数を使用するだけでリモートデータベースに接続できますか?何かのようなもの sqlplus user/pass@remote_SID@hostname.network ;( I know, this one is not valid)
80 oracle  sqlplus 


7
sqliteシェル出力を適切にフォーマットする方法は?
にアクセスしmysql shellて入力すると、次のようSELECT * FROM usersになります- +--------+----------------+---------------------------------+----------+-----------+--------------------+--------------------+ | USERID | NAME | EMAILID | PASSWORD | USER_TYPE | CONTACT_ID_FKUSERS | COMPANY_ID_FKUSERS | +--------+----------------+---------------------------------+----------+-----------+--------------------+--------------------+ | 137 | X | b@cc.com | # | ADMIN | 166 | 110 | | 138 | Kshitiz | ksharma@aaa.com | asdf | ADMIN | 167 | …
79 sqlite 

7
データベースとユーザーとスキーマの違い
データベース、ユーザー、スキーマという用語と本当に混同しています。誰かが彼らがお互いにどのように異なっているかを説明できますか? それらが同じ場合、それらの類似点は何ですか?それらをどのように使用しますか?そして、それらをどのように作成しますか?
78 oracle  schema  users 

6
アクティブな読み取りと書き込みを行うライブシステムでmysqldumpを実行する最も安全な方法は?
これが本当かどうかはわかりませんが、Linuxで次のコマンドを実行すると読んだことを覚えています mysqldump -u username -p database_name > backup_db.sql データベースに対して読み取りおよび書き込みが行われている間、ダンプにはエラーが含まれる場合があります。 mysqldumpこれが稼働中のシステムで安全に実行されるようにするためのコマンドに特定のオプションはありますか?数秒間ユーザーの読み取り/書き込みを無効にしても問題ありません(データベース<50MB)

5
SQL Serverのインプレースアップグレードは、以前と同じように不適切にアドバイスされていますか?
私はSQL Server 6.5以降、SQL Serverのオンとオフを操作してきました。私の頭に残っている古いアドバイスは、インプレースアップグレードを行うことではありませんでした。 現在、2008 R2 DEVおよびTESTシステムをSQL Server 2012にアップグレードしていますが、同じハードウェアを使用する必要があります。Reporting Servicesの構成を復元する必要がないという考えは非常に魅力的であり、実際には時間的に賢明です。関係する分析サービスや異常なもの、非標準のものはありません。データベースエンジンとレポートサービスのみがインストールされます。 インプレースアップグレードで深刻な問題を経験した人はいますか?または、インプレースアップグレードに関する自分の立場を再評価する必要がありますか?

1
Postgres UPDATE…LIMIT 1
サーバーステータス(「アクティブ」、「スタンバイ」など)などのサーバーのクラスターに関する詳細を含むPostgresデータベースがあります。アクティブなサーバーはいつでもスタンバイにフェールオーバーする必要があり、特にどのスタンバイが使用されているかは気にしません。 データベースクエリでスタンバイのステータス(JUST ONE)を変更し、使用するサーバーIPを返すようにします。選択は任意です。サーバーのステータスはクエリによって変化するため、どのスタンバイが選択されているかは関係ありません。 クエリを1つの更新のみに制限することはできますか? ここに私がこれまで持っているものがあります: UPDATE server_info SET status = 'active' WHERE status = 'standby' [[LIMIT 1???]] RETURNING server_ip; Postgresはこれを好まない。別に何ができますか?

4
MongoDBでのシャーディングとレプリケーションの違い
私は、シャーディングとレプリケーションがどのように機能するかについて混乱しています。定義によると レプリケーション:MongoDBのレプリカセットは、同じデータセットを保持するmongodプロセスのグループです。 シャーディング:シャーディングは、複数のマシンにデータを保存する方法です。 75 GBのデータがあり、レプリケーション(3サーバー)がある場合、各サーバーに75 GBのデータが保存されますが、サーバー1では75 GB、サーバー2では75 GB、サーバー3では75 GBになります。私が間違っている場合)..そしてシャーディングによって、サーバー-1に25GBのデータとして、サーバー-2に25GBのデータとして、サーバー-3に25GBのデータとして保存されます(右?)...チュートリアル シャードはデータを保存します。高可用性とデータの一貫性を提供するために、実稼働シャードクラスターでは、各シャードはレプリカセットです レプリカセットは75GBですが、シャードは25GBであるため、どのように同等になる可能性がありますか。これで私を助けてください。
77 mongodb 

4
クエリが昨日よりも突然遅くなるのはなぜですか?
[挨拶] (チェックしてください) [ ] Well trained professional, [ ] Casual reader, [ ] Hapless wanderer, 私は持っています(該当するものすべてをチェックしてください) [ ] query [ ] stored procedure [ ] database thing maybe 正常に実行されていた(該当する場合) [ ] yesterday [ ] in recent memory [ ] at some point しかし、今は突然遅くなっています。 既にブロックされていないこと、および長期にわたるメンテナンスタスク、レポート、またはその他の帯域外プロセスの犠牲になっていないことを確認しました。 問題は何ですか、どうすればよいですか、また、ヘルプを得るためにどのような情報を提供できますか? [*Insert appropriate closing remarks*]

5
どのデータベースが何十億レコードのストレージを処理できますか?
私たちは、膨大な量を収集するnetflowデータをキャプチャして分析するツールの開発を検討しています。毎日約14億のフローレコードをキャプチャします。これは、json形式では次のようになります。 { "tcp_flags": "0", "src_as": "54321", "nexthop": "1.2.3.4", "unix_secs": "1352234521", "src_mask": "23", "tos": "0", "prot": "6", "input": "105", "doctets": "186", "engine_type": "0", "exaddr": "2.3.4.5", "engine_id": "2", "srcaddr": "9.8.7.6", "dst_as": "12345", "unix_nsecs": "752265174", "sysuptime": "2943529544", "dst_mask": "24", "dstport": "80", "last": "2943523241", "srcport": "52672", "dpkts": "4", "output": "111", "dstaddr": "6.5.4.3", "first": "2943517993" …


4
<>と!=がSQL Serverのパフォーマンスで同一である信頼できるソース
SO に関するこの回答を検討してください。これにより、&lt;&gt;オペレーターに関する質問者は次のことを安心できます。 &lt;&gt;は...と同じ!=です。 しかし、その後、コメンターがパイプを使って言います: 機能的には同じであることは事実です。ただし、SQLオプティマイザーがそれらを使用する方法は大きく異なります。= /!=は単純にtrue / falseとして評価されますが、&lt;&gt;はエンジンが値がより大きいか小さいかを調べて確認する必要があることを意味し、パフォーマンスのオーバーヘッドが大きくなります。高価なクエリを作成する際に考慮すべき点があります。 私はこれが間違っていると確信していますが、潜在的な懐疑論者に対処するために、これらの演算子が単に機能的に同じではなく、すべての面で同一であることを証明するための信頼できるソースまたは正規のソースを提供できる人はいないでしょうか?

3
PostgreSQLで新しい列の位置を指定するにはどうすればよいですか?
列がある表がある場合: id | name | created_date 列を追加したい場合、私は使用します: alter table my_table add column email varchar(255) 次に、列は列の後に追加されcreated_dateます。 新しい列の位置を指定する方法はありますか?たとえば、次のように追加して、次のnameようなテーブルを取得できます。 id | name | email | created_date

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