データベース

PostgreSQL

PostgreSQLでレコードの存在チェックをするなら CountよりAnyの方が高速

PostgreSQLのパフォーマンス改善をしていて、レコードの存在チェックをするSQLの検証をした結果、Count()、Count()+limit1、Any() の3パターンで最も高速でDB負荷が低かったのは Any()だった。 下記は、S...
PostgreSQL

PostgreSQLの PRIMARY KEYと UNIQUE INDEXに、別途 INDEXを追加する必要はない

PostgreSQLの PRIMARY KEYとUNIQUE INDEXは、一意制約だけではなく INDEX機能も有しているので、PRIMARY KEYとUNIQUE INDEXの対象列に、INDEXを追加する必要はない。SQLServer...
Blazor Server

EFCoreコードファーストが発行したSQLをログ出力する

EFCoreコードファーストから発行されたSQLをログファイルに残す、サンプルを作りしました。コードファーストのDBパフォーマンスを、インデクス追加で改善する際には必須だと思う。今回は今流行りの Blazor Server をベースに作成し...
.NET Core

Method not found: ‘Npgsql.NpgsqlDataReader Npgsql.NpgsqlCommand.ExecuteReader()’ エラー

.Net Core プロジェクトで、NpgsqlBulkUploaderの Insertメソッド実行時に「Method not found: 'Npgsql.NpgsqlDataReader Npgsql.NpgsqlCommand.Exe...
PostgreSQL

PostgreSQLのSQLは A5:SQL Mk-2 のSQLデザイナで楽に書く

Accessや SQLServerで便利な、GUI上で動的にSQLをデザインし作成する機能は、PostgreSQLの標準ツール pgAdmin4 には無いが、PostgreSQLに対応している A5:SQL Mk-2 には有る。忘れがちで書...
データベース

SQLServer/Oracle/PostgreSQL 大文字小文字の使い分け

SQLServer/Oracle/PostgreSQL それぞれで、テーブル、カラムなどのオブジェクト名を決める際、大文字小文字の使い分け方に悩むかと思いますが、データベース毎の無難な大文字小文字の使い分け方は下記になります。   無難なパ...
PostgreSQL

PostgreSQLでスキーマを追加削除した後はpgAdminを再起動する

変更がpgAdminに反映されない事象 PostgreSQL 14 + pgAdmin 4 に、スキーマを追加/削除しても、pgAdminに上手く反映されないバグがある。この事象が発生した場合、「Refresh」を実行しても、「F5」でWE...
Blazor Server

VPS + CentOS 7.9 + Asp.Net Core 5.0 (Blazor server) + SQLServer 2019 構成のシステムイメージ

Asp.Net Core 5.0 (Blazor server) + SQLServer 2019 構成で実装した業務システムを、社内、自宅を問わず使用できるように、さくらインターネットVPSに CentOS 7.9 をインストールしデプロ...
EF Core

EF Core 5.0 は追跡機能が有効になっていると、DB上の変更がDbSetに反映されない

「Asp.Net Core 5.0 + EF Core 5.0 + SQLServer 2019」環境で開発していて、 EF Core 5.0 の FromSqlRaw()でストアドプロシージャからDbSet<> に一覧データを取得したあと...
Oracle

Oracle 12.1 インストール手順 開発手順

2021年にもなって、10年前のデータベース(Oracle 12.1)で、新しいシステムを立ち上げることになった。2021年版 Oracle 12.1 インストール手順を残す。 Windows OS 64bit の開発用サーバに、Oracl...