IndexCreator の変更履歴
IndexCreator の全リリースを新しい順に並べます。公開日は日本時間です。機能と版の対応は 概要 の対応表も参照してください。内容は各リリースのノートと、タグ間のソース・資料の差分で確かめています。
v0.3.0
2026-10-10 公開。
変更
- 配布 ZIP を、OS・アーキテクチャ共通の 1 つ(
VehicleVision.PleasanterTools.IndexCreator-0.3.0-portable.zip)に統合しました。SHA256 は同名の.sha256ファイルです。ZIP 名に版が入り、pdb は含みません。Windows x86 / x64、Linux x64 / arm64 で同じ ZIP を使えます。 - 実行する DLL の名前を
IndexCreator.dllからVehicleVision.PleasanterTools.IndexCreator.dllに変更しました。ZIP 内のフォルダー名IndexCreatorは変わりません。
修正
helpの先頭行の版を、アセンブリの版から取得するようにしました。v0.3.0 ではIndexCreator 0.3.0と表示されます。v0.1.0〜v0.2.0 は、実際の版にかかわらずIndexCreator 0.1.0と表示していました。
更新時に必要な作業
- 旧版のフォルダーへ上書き展開すると旧 DLL が残るため、
IndexCreatorフォルダーを入れ替えます。 dotnet VehicleVision.PleasanterTools.IndexCreator.dll ...を呼ぶスクリプト・ジョブを、新しい DLL 名に直します。- ZIP を自動でダウンロードしている場合は、RID 別の ZIP 名(
IndexCreator-<RID>.zip)から共通 ZIP の名前に直します。 - 索引候補の対応範囲・View の生成規則は v0.2.0 と同じです。
検証と未確認の範囲
リリースノートによると、Release ビルド、単体チェック 147 件、3 DB の結合試験、Windows x86 / x64・Linux x64 の配置試験を確認しています。Azure Kudu の実機と実運用 DB での共通 ZIP の検証は未実施です。
v0.2.0
2026-10-09 公開。リリースの題は「索引カバー範囲を拡張」です。
追加
- 「自分が担当」(Own)は、Manager / Owner の OR 分岐ごとに候補を生成します。
- Issues の「期限が近い」「期限超過」と、複数の範囲・前方一致条件を候補に加えました。範囲列が複数あるときは 1 列ずつ別の候補にします。
- リンク選択肢の View 条件を、検索されるリンク先の Results / Issues の候補にします。
- 複数段の項目連携を解析し、子マスタの単一選択の親リンク列とレコード ID を含む候補を生成します。
- 未対応の式条件、項目連携の複数選択、連携先の不足、件数不足などの診断を追加しました。
本体のコード、標準の索引、列、テーブルは変更しません。既存の命名、再実行、標準索引の保護の仕組みも維持します。
更新時に必要な作業
- 候補が増える場合があるため、最初に
plan /output indexes-plan.sqlでキー列と本数を確認します。 - リンク先の件数にも
/min-records(既定 10000)を適用します。 - 新しい候補を追加しても、
/pruneを指定しなければ古い管理索引は削除されません。
制約
- 項目連携の単一選択でも、本体の数値変換は残余条件として残ります。変換後の値を直接検索する索引にはなりません。
- 複数選択・部分一致・任意の OR・JOIN 条件・式条件は完全には対応しません。MySQL の分類列は prefix 索引です。SQL Server の分類列には、複合キー全体で 1700 バイトの制約があります。
- 候補が実行計画に採用されることや、本番での高速化は保証されません。項目連携の性能は未計測で、先行する Own の合成データ試験でも SQL Server では改善が確認できませんでした。
検証
単体チェック 147 件(x64 / x86)、3 DB の専用 DB での結合試験、配布物の生成、Windows x86 / x64・Linux x64 の配置試験が成功しています。検証はプリザンター 1.5.8.1 の固定ソースと専用の最小スキーマに基づき、本番のデータや全スキーマを再現したものではありません。
v0.1.1
2026-10-09 公開。パッチリリースです。
追加
- Windows x86 の配布物
IndexCreator-win-x86.zipを追加しました。Windows 版 Azure Kudu の x86 のdotnetから、本体と同じホストで実行できます。 - 導入手順に、Windows 版 Azure Kudu では x86 版を使う案内を加えました。
- CI に、x86 ホストでの DLL 起動と配置の試験を加えました。
修正
- x86 の
dotnetで win-x64 の DLL を実行すると、アーキテクチャの不一致で起動できない問題に対し、ホストに合う配布物を選べるようにしました。
更新時に必要な作業
索引・View の生成ロジックとコマンドの書式は v0.1.0 と共通です。ZIP と同名の .sha256 を確認し、フォルダーごと展開・差し替えます。dotnet --info の Host Architecture が x86 なら、64bit Windows 上でも x86 版が必要です。
未確認の範囲
x86 の配布物を実際の Azure Kudu と実運用 DB で実行する検証は未実施です。
v0.1.0
2026-10-08 公開。初回リリースです。
機能
- Results / Issues / Wikis の保存ビュー・リンク項目・サマリから、索引を計画・適用します。SQL Server / PostgreSQL / MySQL に対応します。
- CodeDefiner と同じ
/p、/y、/c、/fの書式で、本体の設定を読み込みます。オプションは/で指定します。 - 一覧画面の表示列・順序・ラベルを SQL View に反映します。
/names columnで物理項目名の列名も選べます。 - 項目別の選択肢 View に
Value/Text/TextMiniを出力します。サイト設定やリンク先 Wiki の本文を参照し、選択肢の編集を再作成せずに反映します。 /pruneによる不要な管理対象の整理、/exclude-tree・/exclude-siteによる View の対象除外、ロック待ちの上限と再試行に対応します。- コンソールと NLog の実行ログは英語固定です。名前・ハッシュ・列・ログの生成ルールを文書化しています。
配布物
Windows x64、Linux x64、Linux arm64 の RID 別 ZIP(IndexCreator-win-x64.zip など)と、同名の .zip.sha256 です。.NET Runtime 10 が必要です。IndexCreator フォルダーを Implem.Pleasanter・Implem.CodeDefiner と同じ階層に置き、Rds.json の DisableIndexChangeDetection を true にして、まず plan で確認します。Windows x86 版はありません(v0.1.1 で追加)。
対応範囲と制約
- 一覧 View は DB の値を返します。プリザンターのユーザー・レコード権限、表示変換、保存ビューの絞り込みと取得順序は含みません。
- 選択肢 View は、固定選択肢と Wiki をリンク先にした選択肢が対象です。Users / Depts / Groups などの動的選択肢、Results / Issues をリンク先にした選択肢、変更された分割用の正規表現は対象外です。
- Wiki の本文は ChoicesText と同じ規則で解析します。プリザンター本体の Wiki 選択肢とは、エスケープしたカンマ・前後の空白・JSON 形式のリンクで結果が異なる場合があります。
- SQL Server の選択肢 View は、SQL Server 2022 以降または Azure SQL(互換性レベル 130 以上)が必要です。オンライン索引作成に対応しないエディションでは、保守時間帯に
/offlineを使います。 - MySQL の View 作成には CREATE VIEW / SHOW VIEW などの権限が必要です。本体 owner の既定の権限には含まれません。
- 式索引、関数を伴う並べ替え、部分一致などは、通常の B-tree の候補の対象外です。
- 「自分が担当」(Own)と全文検索の条件は、通常の索引計画の対象外として診断します(v0.2.0 で Own に対応)。
- 範囲・前方一致が複数ある場合は、最初の範囲列だけを候補にします(v0.2.0 で 1 列ずつ別の候補に変更)。
検証
3 DB の結合試験と、Windows / Linux の配置試験を実施しています。合成データの 10 万行で SiteId と ClassA の一致条件を比較した例では、中央値が SQL Server 5.118 から 0.838 ms、PostgreSQL 5.767 から 0.434 ms、MySQL 57.293 から 1.142 ms でした。ローカル環境での一例で、実運用の性能を保証するものではありません。