Products解析した情報をもとにレポートの作成を助ける人工知能。患者の現在地を一括管理して、事故を未然に防ぎます。(金)DelphiのFireDACでのSQLiteを高速化こんにちは。システムを開発する場合において、高速化は永遠のテーマと私は考えます。レスポンスは少しでも良い方が気持ち良いです。今回はそんな高速化の手法をひとつ。大量のデータを扱うSQLではこのレスポンスが遅くなりがちですよね。古くから、SQLの高速化については色んな手法、セオリーが存在します。今回はちょっと違った角度からアプローチです。DelphiのFireDACでSQLiteを高速化しようという、かなり限定的な情報です。!ニッチな情報だからこそ待ち望んでいる方もいらっしゃると思い紹介させていただきます。DelphiにはFireDACという強力なデータアクセスコンポーネントがあります。FireDACを使えばSQLiteも簡単に使えます。FireDACは高速ですしSQLiteも軽いデータベースで、この組み合わせだけでもかなり高速です。SQLやテーブル構成も見直した。そんな時には最新のSQLiteライブラリを動的リンクしてあげると、高速化がのぞめます。バージョン3.9.2これに対し、2016年5月27日時点でのSQLite最新版はバージョン3.13.0です。SQLiteはバージョンが上がるごとに機能追加やバグフィックスに加え、高速化も行われますので、最新版に変更すれば高速化する場合があるのです。それでは、具体的にFireDACで最新のsqlite3.dllを動的リンクで使う方法を説明します。linkingここの「.」を削除すると動的にsqlite3.dllを読み込めるようになります。<2.最新のSQLite3.dllを取得>SQLiteホームページより最新のSQLite3.dllを取得、アプリケーションexeと同じフォルダか、パスが通った場所に格納します。sqlite_version()といったSQLで取得可能ですので、こんな感じで確認できます。‘不明’;end;FDQuery1.Close;ShowMessage(sVersion);end;XE5で静的と動的な最新SQLiteで比較した際、25%程の高速化が確認できました。最新の機能の利用や高速化が期待できる動的リンクですが、暗号化のサポートがされないという弊害もあります。機能や動作速度と、セキュリティ条件等を比較考慮して最適な方法を選択すべきでしょうね。inc.コンセプトソフトウェア開発コンサルティング製品情報ワイズキーパーワイズチェインWEBLOG。