組み込み型データベース SQLite について語るスレッドです。
SQLite
http://www.sqlite.org/
・C/C++ API
http://www.sqlite.org/c3ref/intro.html
・Syntax
http://www.sqlite.org/lang.html
・Limits
http://www.sqlite.org/limits.html
・Support
http://www.sqlite.org/support.html
SQLite Part.10
レス数が950を超えています。1000を超えると書き込みができなくなります。
2012/08/16(木) 21:54:16.20ID:???
881879
2022/05/14(土) 17:14:23.65 勘違いだった 全然できてなかった・・
882NAME IS NULL
2022/05/15(日) 06:48:52.51ID:??? ちんちんシュッ!シュッ!シュッ!
883NAME IS NULL
2022/05/21(土) 05:13:32.36ID:x0/aYMyB sqlite4は結局どうなったんや
884NAME IS NULL
2022/05/21(土) 06:49:31.01ID:??? 成果はsqlite3に取り込まれて終了
885NAME IS NULL
2022/05/22(日) 01:43:04.34ID:tr89Osbf >>884
サンクス
サンクス
886NAME IS NULL
2022/08/10(水) 11:02:53.87ID:??? SQLiteを優先順位付きのキューとして使うのは 良いことでしょうか
複数のプロセス(CとかPHPとかbashとか)からのメッセージを
別のひとつのプロセスがそこそこのタイミングで受け取りたい
(毎秒チェックで許されるくらい)
複数のプロセス(CとかPHPとかbashとか)からのメッセージを
別のひとつのプロセスがそこそこのタイミングで受け取りたい
(毎秒チェックで許されるくらい)
887NAME IS NULL
2022/08/28(日) 16:18:07.78ID:??? >>886
良いことか悪いことかは主観によるので何とも。
実現可能性、という観点でいくと、FAQによれば、
https://www.sqlite.org/faq.html#q19
SQLiteがHDDへのデータの書き込みを完全に保証するためには、HDDのプラッタが2回転するのを待つ必要があり、
一般的な7200rpmのHDDは1分に7200回転=1秒に120回転なので、1秒につき60回のトランザクションが限界。
ということなので、受信側のSELECTが毎秒1回として、送信側のINSERT頻度次第では可能。
ただし、毎秒60トランザクションは理論値で、実際にはSQLite以外のプロセスもHDDを使うだろうから、
例えば全HDDアクセスの半分を他のプロセスで使うと仮定すると30回/秒まで、もしくはHDDがビジーで
90%を他のプロセスが使う環境であればSQLiteのトランザクションは6回/秒が限界ということになる。
SSDの場合は多分もっと多いけどね。その辺はデバイスの書き込み能力によって計算が必要。
あとはトランザクション内で色々操作したらその分SQLiteからHDDへの書き込み回数も増えるだろうから、
実際のトランザクション数の限界はもうちょい減るかもね。
キューなら不用になった行は受信側で印をつけたり消したりもするだろうし。
良いことか悪いことかは主観によるので何とも。
実現可能性、という観点でいくと、FAQによれば、
https://www.sqlite.org/faq.html#q19
SQLiteがHDDへのデータの書き込みを完全に保証するためには、HDDのプラッタが2回転するのを待つ必要があり、
一般的な7200rpmのHDDは1分に7200回転=1秒に120回転なので、1秒につき60回のトランザクションが限界。
ということなので、受信側のSELECTが毎秒1回として、送信側のINSERT頻度次第では可能。
ただし、毎秒60トランザクションは理論値で、実際にはSQLite以外のプロセスもHDDを使うだろうから、
例えば全HDDアクセスの半分を他のプロセスで使うと仮定すると30回/秒まで、もしくはHDDがビジーで
90%を他のプロセスが使う環境であればSQLiteのトランザクションは6回/秒が限界ということになる。
SSDの場合は多分もっと多いけどね。その辺はデバイスの書き込み能力によって計算が必要。
あとはトランザクション内で色々操作したらその分SQLiteからHDDへの書き込み回数も増えるだろうから、
実際のトランザクション数の限界はもうちょい減るかもね。
キューなら不用になった行は受信側で印をつけたり消したりもするだろうし。
888NAME IS NULL
2022/08/28(日) 17:15:31.43ID:???889NAME IS NULL
2022/08/28(日) 17:22:14.27ID:??? 意味がないかどうかは要件次第でしょ
890NAME IS NULL
2022/08/28(日) 22:47:29.13ID:??? そりゃすげー特殊な案件まで含めたらそんな案件もあるのかも知れんけどねw
891NAME IS NULL
2022/08/29(月) 13:53:59.82ID:??? SSDだとどうなのか
892NAME IS NULL
2022/09/03(土) 09:19:43.37ID:??? プロセス間のキューならOS落ちても起動後に続きから処理したいケースなんて
いくらでもあるから、すげー特殊なんてこたあない。普通にあり得る。
PRAGMA synchronous=OFFってよく分かってないんだけどディスクにsyncしなくても他のプロセスとの
一貫性って保てるのかな?OS介してればディスクにsyncする前でもキャッシュから読まれるからセーフ?
ネットワークファイルシステムだったら駄目っぽいけどローカルで完結するなら良いのかな・・?
いくらでもあるから、すげー特殊なんてこたあない。普通にあり得る。
PRAGMA synchronous=OFFってよく分かってないんだけどディスクにsyncしなくても他のプロセスとの
一貫性って保てるのかな?OS介してればディスクにsyncする前でもキャッシュから読まれるからセーフ?
ネットワークファイルシステムだったら駄目っぽいけどローカルで完結するなら良いのかな・・?
893NAME IS NULL
2022/09/03(土) 09:41:50.61ID:??? >>892
> プロセス間のキューならOS落ちても起動後に続きから処理したいケースなんていくらでもあるから、すげー特殊なんてこたあない。普通にあり得る。
簡単そうに言ってるけどプロセス側もどこまで処理したかをキチンと記録して回復しないといけないしそもそもOS落ちるってことはどこまで記録されてるかの保証もないしヘタしたらファイルシステムぶっ壊れてる可能性すらあるのに普通にあるとか言われても草
> PRAGMA synchronous=OFFってよく分かってないんだけどディスクにsyncしなくても他のプロセスとの
> 一貫性って保てるのかな?OS介してればディスクにsyncする前でもキャッシュから読まれるからセーフ?
簡単に言えばキャッシュの内容をストレージにいちいち反映させない(暇になったら反映する)ってこと
一貫性の管理はメモリー上でやってるから問題ない
> ネットワークファイルシステムだったら駄目っぽいけどローカルで完結するなら良いのかな・・?
ネットワークファイルシステムでも同じだよ、ファイルシステム自体はサーバー側にあるんだし
> プロセス間のキューならOS落ちても起動後に続きから処理したいケースなんていくらでもあるから、すげー特殊なんてこたあない。普通にあり得る。
簡単そうに言ってるけどプロセス側もどこまで処理したかをキチンと記録して回復しないといけないしそもそもOS落ちるってことはどこまで記録されてるかの保証もないしヘタしたらファイルシステムぶっ壊れてる可能性すらあるのに普通にあるとか言われても草
> PRAGMA synchronous=OFFってよく分かってないんだけどディスクにsyncしなくても他のプロセスとの
> 一貫性って保てるのかな?OS介してればディスクにsyncする前でもキャッシュから読まれるからセーフ?
簡単に言えばキャッシュの内容をストレージにいちいち反映させない(暇になったら反映する)ってこと
一貫性の管理はメモリー上でやってるから問題ない
> ネットワークファイルシステムだったら駄目っぽいけどローカルで完結するなら良いのかな・・?
ネットワークファイルシステムでも同じだよ、ファイルシステム自体はサーバー側にあるんだし
894NAME IS NULL
2022/09/03(土) 16:24:29.73ID:???895NAME IS NULL
2022/09/03(土) 16:36:14.26ID:???896NAME IS NULL
2022/09/05(月) 10:23:23.55ID:??? Chrome開発チームがSQLiteチームとWebAssembly版SQLiteを開発中。Webブラウザ上からのファイル書き込みで永続化も可能。Web SQL APIの代替として - Publickey
https://www.publickey1.jp/blog/22/chromesqlitewebassemblysqlitewebweb_sql_api.html
https://www.publickey1.jp/blog/22/chromesqlitewebassemblysqlitewebweb_sql_api.html
897NAME IS NULL
2022/09/07(水) 21:37:10.98ID:???898NAME IS NULL
2022/09/07(水) 21:48:58.45ID:???899NAME IS NULL
2022/09/08(木) 00:12:11.61ID:??? >>898
そういうのトランザクション管理の基本だよ
そういうのトランザクション管理の基本だよ
900NAME IS NULL
2022/09/08(木) 04:13:22.16ID:???901NAME IS NULL
2022/09/08(木) 09:33:00.35ID:???902NAME IS NULL
2022/09/08(木) 10:10:19.28ID:???903NAME IS NULL
2022/09/08(木) 12:10:26.32ID:???904NAME IS NULL
2022/09/08(木) 17:08:13.58ID:???905NAME IS NULL
2022/09/08(木) 17:38:42.26ID:??? 仕事のシステムだけど、ぜんぜんオッケーよ
「リチャードが大丈夫っつったしテストもすげーしたからセーフ」
って仕様書にも書いたよ
「リチャードが大丈夫っつったしテストもすげーしたからセーフ」
って仕様書にも書いたよ
906NAME IS NULL
2022/09/08(木) 18:02:08.55ID:???907NAME IS NULL
2022/09/08(木) 18:49:30.76ID:??? >>903
OSクラッシュや電源断の時のトランザクションのatomicityは保証されてるよ
DBがcorruptするのは使い方が間違ってるか設定が間違ってるかSQLiteのバグかOSの欠陥
https://sqlite.org/transactional.html
原理を知りたければ説明書読んでね
https://sqlite.org/atomiccommit.html
OSクラッシュや電源断の時のトランザクションのatomicityは保証されてるよ
DBがcorruptするのは使い方が間違ってるか設定が間違ってるかSQLiteのバグかOSの欠陥
https://sqlite.org/transactional.html
原理を知りたければ説明書読んでね
https://sqlite.org/atomiccommit.html
908NAME IS NULL
2022/09/08(木) 20:33:10.76ID:???909NAME IS NULL
2022/09/08(木) 20:42:24.40ID:??? >>907
リンク先ちゃんと読んでる?
If after power is restored the file is only partially deleted, if some of its data has been altered or erased, or the file has been truncated but not completely removed, then database corruption will likely result.
って書いてますけど?w
そもそも普通のOSは100%ファイルシステムが壊れないと保証してないのにその上に載ってるDBファイルが壊れない保証なんてできるわけないだろ
リンク先ちゃんと読んでる?
If after power is restored the file is only partially deleted, if some of its data has been altered or erased, or the file has been truncated but not completely removed, then database corruption will likely result.
って書いてますけど?w
そもそも普通のOSは100%ファイルシステムが壊れないと保証してないのにその上に載ってるDBファイルが壊れない保証なんてできるわけないだろ
910NAME IS NULL
2022/09/08(木) 22:18:38.75ID:???911NAME IS NULL
2022/09/08(木) 22:34:55.79ID:???912NAME IS NULL
2022/09/11(日) 23:09:32.22ID:??? 荒れてるなあ。
OS単体だったらメインフレームでもない限りシステムダウン時のデータ保証はされないのが普通だけど、
それを気にするような要件なら当然ソフト(ファイルシステム・ドライバ・ミドルウェア)も
ハード(HDD/SSD・ストレージ装置・キャッシュ制御)もそれなりのものを入れて
システム全体で保証するだろうから、SQLite観点で仕様を検討する上ではその議論は不毛じゃないかね。
SQLiteを使ってるプロセスとしてデータ保証が出来ていればOKと思う。
データ保証が必要なキューのアーキテクチャの云々はスレ違いなので他スレでどうぞ。
OS単体だったらメインフレームでもない限りシステムダウン時のデータ保証はされないのが普通だけど、
それを気にするような要件なら当然ソフト(ファイルシステム・ドライバ・ミドルウェア)も
ハード(HDD/SSD・ストレージ装置・キャッシュ制御)もそれなりのものを入れて
システム全体で保証するだろうから、SQLite観点で仕様を検討する上ではその議論は不毛じゃないかね。
SQLiteを使ってるプロセスとしてデータ保証が出来ていればOKと思う。
データ保証が必要なキューのアーキテクチャの云々はスレ違いなので他スレでどうぞ。
913NAME IS NULL
2022/09/12(月) 03:03:35.28ID:??? >>912
それトランザクションのAtomicityを保証するという話と違わないか?
それトランザクションのAtomicityを保証するという話と違わないか?
914NAME IS NULL
2022/09/12(月) 06:19:00.62ID:???915NAME IS NULL
2022/09/12(月) 06:40:52.72ID:??? 何事も過信は禁物で、各レイヤでのバックアップは不可欠
運用システムのリスク許容度に応じて各自が判断しましょうできるように力を養いましょう
運用システムのリスク許容度に応じて各自が判断しましょうできるように力を養いましょう
916NAME IS NULL
2022/09/12(月) 10:01:21.31ID:??? ジャーナリングつきのファイルシステムなら急な電源切断は、保証はされないけど、だいたい壊れないやろ。
それでよければいいだけの話。
それでよければいいだけの話。
917NAME IS NULL
2022/09/12(月) 10:50:19.58ID:???918NAME IS NULL
2022/09/12(月) 11:15:59.66ID:??? >>917
申し訳ないが主語をちゃんと書いてくれ
申し訳ないが主語をちゃんと書いてくれ
919NAME IS NULL
2022/09/12(月) 15:35:59.82ID:??? >>918
お前もな
お前もな
920NAME IS NULL
2022/09/12(月) 15:53:19.49ID:??? さすがに>>918の文章を理解できない人には用はないので無駄に絡んでこないでねw
921NAME IS NULL
2022/09/12(月) 20:23:51.04ID:??? >>920
ウザ絡みはヤメレ
ウザ絡みはヤメレ
922NAME IS NULL
2022/09/12(月) 20:59:28.24ID:???923NAME IS NULL
2022/09/12(月) 21:49:29.06ID:??? ID表示されないとNG出来なくて不便すぎるわ
924NAME IS NULL
2022/09/12(月) 21:57:33.35ID:??? 『データ保証』みたいな曖昧な言葉を使ってるからダメなんだよ
925NAME IS NULL
2022/09/13(火) 09:37:38.51ID:???926NAME IS NULL
2022/09/14(水) 02:14:04.42ID:waXkrZmr RDBMSをExcelだと思っているやつは多いからな。
927NAME IS NULL
2022/09/14(水) 10:36:26.09ID:??? まあ世の中の9割5分のデータベースはエクセルで代用できるしな
928NAME IS NULL
2022/09/14(水) 15:00:13.95ID:??? >>927
代用できるというか、活用できてないだけじゃね?
代用できるというか、活用できてないだけじゃね?
929NAME IS NULL
2022/09/14(水) 15:08:09.03ID:??? DBの代用しちゃってるくらいならまだ良い方。
仕様書をエクセルで作る人とか、スクリーンショット送ってと言ったらエクセルに貼り付けて送ってくる人とか、色々いるよ・・・。
仕様書をエクセルで作る人とか、スクリーンショット送ってと言ったらエクセルに貼り付けて送ってくる人とか、色々いるよ・・・。
930NAME IS NULL
2022/09/14(水) 17:05:54.06ID:??? スクショはどうするのがいいの?
技術に明るい人だけが閲覧するものならどうにでもなるんだけど
そうじゃない人も見るようなやつ
技術に明るい人だけが閲覧するものならどうにでもなるんだけど
そうじゃない人も見るようなやつ
931NAME IS NULL
2022/09/14(水) 18:13:56.52ID:??? ペイントでjpegにでもすれば
932NAME IS NULL
2022/09/14(水) 18:49:38.06ID:??? 単なるスクショだけならjpegとかでもいいけど複数のスクショにコメント入れたりしたい場合はExcelでもいいと思うよ
933NAME IS NULL
2022/09/15(木) 10:10:26.20ID:??? 未だにexcelを表計算ソフトかなんかだと思ってる人がいるのな
934NAME IS NULL
2022/09/15(木) 14:15:37.34ID:??? 画像にコメント入れるだけならパワポで良いでしょ。せめてワード。エクセルは無い。
935NAME IS NULL
2022/09/15(木) 15:20:46.96ID:??? PowerPointもWordもページの制約が大きすぎるからそれに合わない用途の場合にExcelが選ばれる
設計書にスクショを含める場合とかならWord使うしユーザーにUIを説明するような用途ならパワポ使う
特にスクショを多く含むWordは手間書ければキレイに見せられるがメンテコストが高い
そしてここはSQLiteスレ
設計書にスクショを含める場合とかならWord使うしユーザーにUIを説明するような用途ならパワポ使う
特にスクショを多く含むWordは手間書ければキレイに見せられるがメンテコストが高い
そしてここはSQLiteスレ
936NAME IS NULL
2022/09/16(金) 20:31:07.99ID:bDV4ndIn Excel等のOffice製品に貼り付けた画像は、ExcelファイルのZIP圧縮を展開すれば、Excel内部では画像ファイルとして存在しているので、Excelファイルに貼り付けるのも悪くはない。
画像ファイルで渡してこないことを馬鹿にしているけど、おそらく馬鹿にしているやつもWindowsのスナッピングツールではなく、プリントスクリーンキーで画面キャプチャを取っていそう。
どっちもどっちだろうな。
画像ファイルで渡してこないことを馬鹿にしているけど、おそらく馬鹿にしているやつもWindowsのスナッピングツールではなく、プリントスクリーンキーで画面キャプチャを取っていそう。
どっちもどっちだろうな。
937NAME IS NULL
2022/09/16(金) 21:39:33.85ID:??? さらにどうでもいい比較を放り込んでくるいつものキチさんw
938NAME IS NULL
2022/09/19(月) 15:29:05.92ID:kkHv2WY1 なんでこんな素人がここにいるのかがわからないよな
939NAME IS NULL
2022/10/26(水) 14:05:44.40ID:??? 22-Year-Old Vulnerability Reported in Widely Used SQLite Database Library
https://thehackernews.com/2022/10/22-year-old-vulnerability-reported-in.html
SQLite Release 3.39.2 On 2022-07-21
https://sqlite.org/releaselog/3_39_2.html
>>この脆弱性は、数十年前には非現実的と見なされていたシナリオ (入力として 1 GB の文字列を割り当てる) が、64 ビット コンピューティングシステムの出現により実現可能になった例でもあります。
https://thehackernews.com/2022/10/22-year-old-vulnerability-reported-in.html
SQLite Release 3.39.2 On 2022-07-21
https://sqlite.org/releaselog/3_39_2.html
>>この脆弱性は、数十年前には非現実的と見なされていたシナリオ (入力として 1 GB の文字列を割り当てる) が、64 ビット コンピューティングシステムの出現により実現可能になった例でもあります。
940NAME IS NULL
2022/10/27(木) 01:09:40.82ID:??? へー、興味深い。そういうのは他のソフトとかでもあったりするんだろうな。
941NAME IS NULL
2022/10/29(土) 21:05:59.61ID:EmUS1oSs 2000年まで使われると思わずに西暦の下二桁が99までしか考慮されていなかったのが、まだ25年くらい前の話だしな。
942NAME IS NULL
2022/10/29(土) 21:26:11.28ID:??? ほんの30年前のHDDには504MBの壁とかあったしな
943NAME IS NULL
2022/10/30(日) 01:25:04.75ID:??? アドレス空間は64KBなのにメガロムは128KBもあってさ
バンク切り替えの概念は当時の自分には難しすぎてな・・・
バンク切り替えの概念は当時の自分には難しすぎてな・・・
944NAME IS NULL
2022/10/31(月) 12:17:57.74ID:??? SQLiteの正式なWebAssembly版「SQLite3 WASM/JS」が登場 - Publickey
https://www.publickey1.jp/blog/22/sqlitewebassemblysqlite3_wasmjs.html
https://www.publickey1.jp/blog/22/sqlitewebassemblysqlite3_wasmjs.html
945NAME IS NULL
2022/11/21(月) 11:11:59.56ID:??? 「SQLite3 WASM/JS」パブリックベータ公開。SQLite 3.40でサポート開始、WebブラウザなどでSQLiteが実行可能に - Publickey
https://www.publickey1.jp/blog/22/sqlite3_wasmjssqlite_340websqlite.html
>>本バージョンから...(略)...配布される公式のバイナリにLinux版、Windows版、Mac OS X版、Android版などと共に「SQLite3 WASM/JS」が含まれるようになりました。
https://www.publickey1.jp/blog/22/sqlite3_wasmjssqlite_340websqlite.html
>>本バージョンから...(略)...配布される公式のバイナリにLinux版、Windows版、Mac OS X版、Android版などと共に「SQLite3 WASM/JS」が含まれるようになりました。
946NAME IS NULL
2023/01/13(金) 08:42:02.75ID:??? SQLite3 WASM/JS、Origin Private File Systemを用いてChrome上の高速なローカルDBが機能するとGoogleが明らかに、廃止されたWeb SQLの代替として利用可能 - Publickey
https://www.publickey1.jp/blog/23/sqlite3_wasmjsorigin_private_file_systemchromedbgoogleweb_sql.html
https://www.publickey1.jp/blog/23/sqlite3_wasmjsorigin_private_file_systemchromedbgoogleweb_sql.html
947NAME IS NULL
2023/01/17(火) 18:04:50.16ID:??? みんなどのくらいのサイズで使ってるの?
一番大きいテーブルで一万件くらい?
スマホアプリにちょっと乗っける程度で使うもんなの?
一番大きいテーブルで一万件くらい?
スマホアプリにちょっと乗っける程度で使うもんなの?
948NAME IS NULL
2023/01/20(金) 08:56:43.16ID:???949NAME IS NULL
2023/01/20(金) 20:57:01.04ID:???950NAME IS NULL
2023/01/21(土) 16:11:48.55ID:??? 1億件くらいまでなら余力があると思う
951NAME IS NULL
2023/01/21(土) 22:51:28.09ID:??? selectだけならなんぼでもいけそうやな
B-Treeの構造上
B-Treeの構造上
952NAME IS NULL
2023/01/26(木) 03:02:27.75ID:0ZdAuIEw マシンパワーが上がっているから、処理性能も連動して上がる。
953NAME IS NULL
2023/01/26(木) 21:16:21.56ID:??? https://www.sqlite.org/np1queryprob.html
> The SQLite database runs in the same process address space as the application.
> Queries do not involve message round-trips, only a function call.
HDD→SSDでクッソ恩恵受けてそう。
> The SQLite database runs in the same process address space as the application.
> Queries do not involve message round-trips, only a function call.
HDD→SSDでクッソ恩恵受けてそう。
954NAME IS NULL
2023/02/03(金) 13:26:52.89ID:??? デスクトップに a.db て適当な名前のdb作って書き込んでたら
書き込み中に a.nal ってファイルが現れてフイタ
書き込み中に a.nal ってファイルが現れてフイタ
955NAME IS NULL
2023/02/14(火) 07:54:16.00ID:??? ちんちん!シュッ!シュッ!シュッ!
956NAME IS NULL
2023/03/14(火) 20:16:24.68ID:9pflDpUJ インサートだけの簡単なプログラムで使ってるけどdbファイルが2GB近くになった
dbファイルを消して新たに同じデータを流し込んだら3MB程度なのに
何でだろう
dbファイルを消して新たに同じデータを流し込んだら3MB程度なのに
何でだろう
957NAME IS NULL
2023/03/14(火) 23:27:22.57ID:??? sqlite3_analyzerで分析してくださいな
https://www.sqlite.org/sqlanalyze.html
https://www.sqlite.org/sqlanalyze.html
958NAME IS NULL
2023/03/15(水) 06:44:08.28ID:q1tU6ADy そのツールは知りませんでした
分析してみます
ありがとうございます
分析してみます
ありがとうございます
959NAME IS NULL
2023/03/15(水) 18:08:02.02ID:??? その2GBをvacuumしたら3MBになるみたいな簡単なオチではないよね・・・?
960NAME IS NULL
2023/03/15(水) 19:12:45.18ID:??? >>959
そりゃ当然なるやろ
VACUUM相当のことをやったら3MBになったと書いてるじゃん
INSERTだけで3MBが2GBになる理由がわからなければ
アプリで定期的にVACUUMしなければいけないかわからないから
質問者的には意味が無いと思うよ
そりゃ当然なるやろ
VACUUM相当のことをやったら3MBになったと書いてるじゃん
INSERTだけで3MBが2GBになる理由がわからなければ
アプリで定期的にVACUUMしなければいけないかわからないから
質問者的には意味が無いと思うよ
961NAME IS NULL
2023/03/15(水) 21:50:42.97ID:??? 「インサートだけの簡単なプログラム」←これが一番怪しい気がする。
実はインサートだけじゃなかった、に一票。
実はインサートだけじゃなかった、に一票。
962NAME IS NULL
2023/04/11(火) 07:27:01.54ID:9Zr80laE SQLiteってトランザクションログとかあるでしょうか
実際の入力値に比べてdbファイルが随分デカくなってる気がするので
実際の入力値に比べてdbファイルが随分デカくなってる気がするので
963NAME IS NULL
2023/04/11(火) 16:57:58.97ID:2cL7SnhE dbファイルが大きくなる問題に悩んでいる者ですがTextに長い文字が入ってくると項目の長さも拡張されるでしょうか
SQLServerでのMAXの精度指定のようなイメージです
ちなみにバキュームをしてもdbファイルのサイズは変わらないので知らない処理がこっそりデリートしてる事は無いと思います
SQLServerでのMAXの精度指定のようなイメージです
ちなみにバキュームをしてもdbファイルのサイズは変わらないので知らない処理がこっそりデリートしてる事は無いと思います
964NAME IS NULL
2023/04/11(火) 20:01:26.80ID:+S9P9M6L 隙間にデータを埋めたり、小さい隙間をなくす処理をしていたりと、初心者しか思いつかないようなネタを考えてられるのがすごいな。
あちこちで同じネタを製品別に書くのも飽きないか?
あちこちで同じネタを製品別に書くのも飽きないか?
965NAME IS NULL
2023/04/11(火) 20:02:59.91ID:+S9P9M6L ファイル内の物理的なデータ位置が頻繁に変わる実装じゃ、使い物にならねえよw
966NAME IS NULL
2023/04/11(火) 20:44:25.60ID:+S9P9M6L ストレージの断片化を進める仕組みにメリットがあるかと考えればわかると思う
狭いところを使おうとして、他のデータを移動させるのもメリットがあるのか
狭いところを使おうとして、他のデータを移動させるのもメリットがあるのか
967NAME IS NULL
2023/04/11(火) 20:56:22.64ID:+S9P9M6L >>963
SQLiteのtext型は、高度なRDBMSのLOB型と同じで、サイズが巨大だから安易に使うとどんどんデータファイルが大きくなる。
text型は巨大な文字データ型。
自分が格納している文字列に対して、使わない長さの領域を確保するので、INSERTでレコードが増えれば、ものすごい勢いでデータファイルが大きくなる。
SQLiteは大量のレコードを扱う用途には向いていない。
SQLiteのtext型は、高度なRDBMSのLOB型と同じで、サイズが巨大だから安易に使うとどんどんデータファイルが大きくなる。
text型は巨大な文字データ型。
自分が格納している文字列に対して、使わない長さの領域を確保するので、INSERTでレコードが増えれば、ものすごい勢いでデータファイルが大きくなる。
SQLiteは大量のレコードを扱う用途には向いていない。
968NAME IS NULL
2023/04/11(火) 21:04:44.42ID:??? 一個のファイルですもんねぇ。
969NAME IS NULL
2023/04/11(火) 21:18:51.61ID:???970NAME IS NULL
2023/04/11(火) 23:28:05.04ID:??? まーたいい加減な嘘連投するやつ来てるね
質問者が騙されないことを祈る
質問者が騙されないことを祈る
971NAME IS NULL
2023/04/12(水) 08:36:27.57ID:+esFaGz3 SQLite公式マニュアル
https://www.sqlite.org/index.html
text型は文字列型というより、文章・文書の内容を格納する大きな文字データ型
text型を使うとレコードサイズが大きくなるため、レコードが増えるとdbファイル(データファイル)がすぐに大きくなる。
バキュームしてもtext型のカラムが確保している部分が大きいので、さほどdbファイル(データファイル)は小さくならない。
https://www.sqlite.org/index.html
text型は文字列型というより、文章・文書の内容を格納する大きな文字データ型
text型を使うとレコードサイズが大きくなるため、レコードが増えるとdbファイル(データファイル)がすぐに大きくなる。
バキュームしてもtext型のカラムが確保している部分が大きいので、さほどdbファイル(データファイル)は小さくならない。
972NAME IS NULL
2023/04/12(水) 09:45:02.89ID:??? >>971
どこにそんなこと書いてあるのか・・・
どこにそんなこと書いてあるのか・・・
973NAME IS NULL
2023/04/12(水) 17:29:05.92ID:??? いつもの法螺吹き君はカラムがすべて固定長だとでも思ってるみたいだねww
974NAME IS NULL
2023/04/12(水) 17:30:19.05ID:??? 保存してる文字列のサイズが大きければ保存先のファイルが大きくなるのは当然だよね
圧縮すれば小さくなるけどそれはデータ型とは関係のない話
圧縮すれば小さくなるけどそれはデータ型とは関係のない話
975NAME IS NULL
2023/04/12(水) 20:20:43.81ID:+esFaGz3 >>974
そういうのは素人考えだよ?
そういうのは素人考えだよ?
976NAME IS NULL
2023/04/12(水) 20:28:28.28ID:+esFaGz3 >>973
固定長じゃなくて、ブロックのような単位で領域を確保する。
あなたのような素人にはファイルのどこにデータがあるのか考えたこともないんだろうね。
バキュームは位置が変わるんだよ。
意味がある文字列が長い文字列に更新されたときに離れたところに続きのデータを配置すると思っているかのような言い草だけど、それこそ古い考え方だよ。
VSAMファイルみたいな階層型データベースの改良版ではないぞ。
固定長じゃなくて、ブロックのような単位で領域を確保する。
あなたのような素人にはファイルのどこにデータがあるのか考えたこともないんだろうね。
バキュームは位置が変わるんだよ。
意味がある文字列が長い文字列に更新されたときに離れたところに続きのデータを配置すると思っているかのような言い草だけど、それこそ古い考え方だよ。
VSAMファイルみたいな階層型データベースの改良版ではないぞ。
977NAME IS NULL
2023/04/12(水) 20:29:09.31ID:+esFaGz3 >>974
それはまったく違う。dbファイルの中身を比較すればわかるだろ
それはまったく違う。dbファイルの中身を比較すればわかるだろ
978NAME IS NULL
2023/04/12(水) 22:20:48.62ID:??? また関係ない話を持ち出して法螺吹くボラクルww
>固定長じゃなくて、ブロックのような単位で領域を確保する。
固定長の意味すら知らないんだなww
>バキュームしてもtext型のカラムが確保している部分が大きいので、さほどdbファイル(データファイル)は小さくならない。
知りもしないことで↑こんな嘘ついてる暇があったら基礎を勉強してねw
>固定長じゃなくて、ブロックのような単位で領域を確保する。
固定長の意味すら知らないんだなww
>バキュームしてもtext型のカラムが確保している部分が大きいので、さほどdbファイル(データファイル)は小さくならない。
知りもしないことで↑こんな嘘ついてる暇があったら基礎を勉強してねw
979NAME IS NULL
2023/04/12(水) 22:22:44.06ID:+esFaGz3980NAME IS NULL
2023/04/16(日) 15:33:14.96ID:??? エンジン
レス数が950を超えています。1000を超えると書き込みができなくなります。
ニュース
- 石破首相、「就職氷河期世代」で今も不安定な仕事に就いている人に農業、建設業、物流業へ就労拡大指示 ★9 [お断り★]
- 次期戦闘機に「烈風」検討 防衛省、旧海軍の名称使用 | 共同通信 [少考さん★]
- 「水道水が飲める国」は、世界でたった9か国だった [お断り★]
- 【競馬】日本の3冠牝馬・リバティアイランド、予後不良で安楽死… 遠征先の香港G1で悲劇 レース中に左前脚を故障★2 [冬月記者★]
- 【話題】「都会を捨てて田舎に移住して幸せ!」その田舎、本当に田舎ですか? という問題 [ひぃぃ★]
- 【名古屋】男風呂の脱衣所で…7歳女の子の裸を撮影した現行犯で32歳会社員の男逮捕 父親が発見し従業員と取り押さえる [シャチ★]
- 【実況】博衣こよりのえちえちロックマンX8🧪
- 【悲報】産経新聞「万博批判の報道は一般市民にとって本当に迷惑です」 [616817505]
- 🏡
- 石破「なぜ氷河期世代は働かないのか? 70歳でも半数は働いてるぞ肉体労働で」トランプ安倍 [205023192]
- GW絵スレ2025夜の部
- 大阪万博、追い詰められてブルーベリーフラペチーノみたいなことをし始める [931948549]