Laboratory of Mobile Agricultural Chemicals Searcher
携帯農薬検索実験室

研究会

  ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索  
305 / 1063 <前へ | 次へ>

〔759〕Re:ACFinder 071121test版
 Hidemi Oya WEB  (07/11/23 11:22)

引用なし
   kabe さん、こん**は。Hidemi Oya です。

>これ、string に連結する方法を試してみたのですが、返って遅くなりました。
>1000行連結すると、5倍くらい遅くなります。
 あちゃ〜、そんなに遅くなりますか…。文字列サイズが大きくなるとメモリの再割り当てが発生するので、最初に SetLength で十分な量のメモリを確保しておかなければならないのかもしれません。それと、もし INSERT 文を
 INSERT INTO table (..) VALUES (..);
にしているなら、
 INSERT INTO table VALUES (..);
にすればいくらか速くなるかも…。
 が、SQL が長すぎて sqlite3_prepare に時間がかかっているのだとすれば、上記対策をしても結果は同じでしょうね。10〜50 行程度でまとめた方が良いかもしれません。

>ここの一番最後のあたり、それらしいことを書いてあるような気がしますが私には理解できません。
 SQLite.pas の ExecSQL は、sqlite3_exec ではなく、sqlite3_prepare, sqlite3_setp, sqlite3_finalize を使っています。ということで、INSERT 文の連結でなんとかなるかなと思ったわけです。
 INSERT 文の連結でダメなら、紹介していただいた記事でやっているように、仮パラメータの INSERT 文を用意しておいて、実パラメータを bind していく方法くらいしかありません。が、SQLite には SQL 文に PREPARE/BIND がないので、API レベルで汎用的に実装する方法が思い浮かびません。それと、フィールドごとに分解して bind する処理に時間がかかりますから、今回のように CSV データを INSERT する場合は、前述のように単純に全フィールドを INSERT していく方が速いはずです。

〔730〕CSV 形式の農薬登録情報ダウンロードサービスを開始しました Hidemi Oya (07/11/17 22:46)
〔731〕CSV データを利用した ACFinder 開発のお願い Hidemi Oya (07/11/17 23:01)
〔732〕Re:CSV データを利用した ACFinder 開発のお... kabe (07/11/18 20:51)
〔733〕Re:CSV データを利用した ACFinder 開発のお... Hidemi Oya (07/11/18 22:36)
〔734〕CSV データメモ kabe (07/11/19 13:26)
〔736〕Re:CSV データメモ Hidemi Oya (07/11/19 23:00)
〔738〕Re:CSV データメモ Hidemi Oya (07/11/20 3:29)
〔735〕ACFinder 071119test版 kabe (07/11/19 21:59)
〔737〕Re:ACFinder 071119test版 Hidemi Oya (07/11/19 23:59)
〔740〕Re:ACFinder 071119test版 [名前なし] (07/11/20 9:53)
〔742〕Re:ACFinder 071119test版 Hidemi Oya (07/11/21 1:05)
〔749〕Re:ACFinder 071119test版 kabe (07/11/21 23:39)
〔745〕Re:ACFinder 071119test版 Hidemi Oya (07/11/21 10:29)
〔739〕Re:ACFinder 071119test版 Hidemi Oya (07/11/20 3:40)
〔741〕ACFinder 071120test版 kabe (07/11/20 23:08)
〔743〕Re:ACFinder 071120test版 kabe (07/11/21 9:13)
〔744〕Re:ACFinder 071120test版 Hidemi Oya (07/11/21 10:19)
〔746〕CSV データダウンロード URL のユーザ指定 Hidemi Oya (07/11/21 12:23)
〔747〕アイディア2つ Hidemi Oya (07/11/21 21:21)
〔748〕ACFinder 071121test版 kabe (07/11/21 23:35)
〔750〕Re:ACFinder 071121test版 Hidemi Oya (07/11/22 0:44)
〔752〕Re:ACFinder 071121test版 kabe (07/11/22 20:35)
〔754〕Re:ACFinder 071121test版 Hidemi Oya (07/11/23 1:11)
〔756〕Re:ACFinder 071121test版 kabe (07/11/23 9:10)
〔759〕Re:ACFinder 071121test版 Hidemi Oya (07/11/23 11:22) <<<
〔751〕ACFinder 071121test版バグ kabe (07/11/22 13:18)
〔753〕Re:ACFinder 071121test版バグ Hidemi Oya (07/11/22 23:23)
〔755〕Re:ACFinder 071121test版バグ Hidemi Oya (07/11/23 9:01)
〔757〕Re:ACFinder 071121test版バグ kabe (07/11/23 9:21)
〔758〕Re:ACFinder 071121test版バグ Hidemi Oya (07/11/23 10:47)
〔761〕Re:ACFinder 071121test版バグ kabe (07/11/23 21:08)
〔766〕Re:ACFinder 071121test版バグ Hidemi Oya (07/11/24 12:37)
〔760〕ACFinder 071123test版 kabe (07/11/23 21:00)
〔762〕Re:ACFinder 071123test版 Hidemi Oya (07/11/23 21:42)
〔763〕CSV データを若干仕様変更 Hidemi Oya (07/11/23 22:10)
〔765〕SQL タブの引用符をシングルクォートに Hidemi Oya (07/11/23 22:49)
〔784〕あれ? 11/26 登録反映分が更新されていない… Hidemi Oya (07/11/29 13:21)
〔785〕Re:あれ? 11/26 登録反映分が更新されていな... Hidemi Oya (07/11/29 21:02)
〔789〕Re:あれ? 11/26 登録反映分が更新されていな... kabe (07/11/29 22:12)
〔791〕Re:あれ? 11/26 登録反映分が更新されていな... Hidemi Oya (07/11/29 22:52)
〔793〕11/28 登録反映分も自動更新されず Hidemi Oya (07/12/01 14:37)
〔805〕やっぱり ACFinder が止まる Hidemi Oya (07/12/05 21:09)
〔806〕タスクスケジューラのユーザ権限が原因か? Hidemi Oya (07/12/05 22:08)

  ツリー表示 ┃スレッド表示 ┃一覧表示 ┃トピック表示 ┃番号順表示 ┃検索  
305 / 1063 <前へ | 次へ>
ページ:  ┃  記事番号:   
(SS)C-BOARD vv3.8 is Free.