データベース

Swagger

WEBAPIの Swagger画面でリクエストパラメータのjsonデータを自動生成する

.Net 6 の ASP.NET Core Web API 実装で、リクエストパラメータにModelクラスを使用する際、Modelクラスのメンバ変数に Getter/Setterを加えておくと、Swagger画面を表示した際、json形式の...
.NET Core

Blazor Serverで実装するシンプルで高速なDBトランザクション処理(on PostgreSQL)

.Net 6.0 の Blazor Serverから、Dapper+Npgsql NuGetパッケージを使い、PostgreSQLデータベースへDBトランザクション処理を行うサンプルを作成しました。ORマッピングの主流はDapperになって...
batch

PostgreSQLのREINDEXをbatchから実行する

PostgreSQLのユーザーデータベースで、使われているIndex(Select文などからScanされたことがあるIndex)のみ、REINDEXを実行するバッチ(bat)を作成しました。ソースコードはGitHubで公開しています。   ...
.NET Core

Blazor Serverから PostgreSQLへSQL文を発行する

.Net 6 の Blazor Serverから、Dapper+Npgsql NuGetパッケージを使い、PostgreSQLデータベースへSQL文を発行するサンプルを作成しました。ソースコードはGitHubで公開しています。 Blazor...
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 それぞれで、テーブル、カラムなどのオブジェクト名を決める際、大文字小文字の使い分け方に悩むかと思いますが、データベース毎の無難な大文字小文字の使い分け方は下記になります。   無難なパ...