SQLite 5

このエントリーをはてなブックマークに追加
1NAME IS NULL
2NAME IS NULL:2007/04/11(水) 08:01:48 ID:???
まさかの2get
3NAME IS NULL:2007/04/11(水) 09:13:52 ID:???
衝撃の3get
4NAME IS NULL:2007/04/11(水) 15:24:49 ID:???
2getに続いて、4get!?
こ、これは、三途の川の渡し賃か。
5NAME IS NULL:2007/04/11(水) 16:13:57 ID:???
5get&ついでに前スレで俺が役にたったもののメモ
load_extension
sqlite3_enable_shared_cache()
PRAGMA read_uncommitted=1
6NAME IS NULL:2007/04/11(水) 19:08:25 ID:???
どう役にたったのか一口コメント頼んます。
7NAME IS NULL:2007/04/11(水) 21:01:01 ID:???
彼女が出来ました
8NAME IS NULL:2007/04/11(水) 21:11:17 ID:???
腰痛が治りました
9NAME IS NULL:2007/04/11(水) 21:24:14 ID:???
のろいがとけました
10NAME IS NULL:2007/04/11(水) 22:17:48 ID:???
【GUIツール】 TkSQLite
http://reddog.s35.xrea.com/wiki/TkSQLite.html

【ADO.NET 2.0 Provider】 System.Data.SQLite
http://sqlite.phxsoftware.com/

【ODBC】 SQLite ODBC Driver
http://www.ch-werner.de/sqliteodbc/

【本】 SQLite入門
http://www.seshop.com/detail.asp?pid=6172
11NAME IS NULL:2007/04/11(水) 22:51:35 ID:???
SQLite入門は、クソ本だから立ち読みでOK。
12NAME IS NULL:2007/04/11(水) 22:54:43 ID:???
立ち読みの必要すら無いだろ
13NAME IS NULL:2007/04/12(木) 01:15:25 ID:???
もうバージョン5か
MySQLに追いついたな
14NAME IS NULL:2007/04/12(木) 01:20:37 ID:???
早くPostgreSQLにも追いつきたいですね
15NAME IS NULL:2007/04/12(木) 14:17:19 ID:???
無理無理。
アクセスにすら負けてるし。
16NAME IS NULL:2007/04/12(木) 14:37:35 ID:???
アクセスって・・・バージョン2007か。確かに追いつくのは大変だな。w
17NAME IS NULL:2007/04/13(金) 00:44:25 ID:???
やっぱりバージョン2のファイルが読めないのは致命的だよな。
気づかずに読み書きさせるとファイル壊れるし。orz
18NAME IS NULL:2007/04/13(金) 00:48:13 ID:???
ファイルが壊れるのは頭のおかしい人だけなのでへっちゃらですよ
19NAME IS NULL:2007/04/13(金) 01:12:05 ID:???
わかった!
ファイルが壊れるのと頭が壊れるのは等価なんだよ!
20NAME IS NULL:2007/04/13(金) 19:14:19 ID:???
今までの疑問が全て解決したな!
21NAME IS NULL:2007/04/13(金) 21:06:06 ID:???
やっぱりsqliteを業務で使ってる香具師は皆無だな。
趣味で使ってる分には問題が合ってもいいだろうし。
22NAME IS NULL:2007/04/13(金) 21:19:40 ID:???
>>21
問題起きるのは頭のおかしい人だけなので業務で使ってもへっちゃらですよ
23NAME IS NULL:2007/04/13(金) 21:41:09 ID:???
一体どういう業務で使ってるんだろう?
24NAME IS NULL:2007/04/13(金) 21:47:22 ID:???
既存アプリのカスタム案件でCSVをインポートしながらとかならありえる。
25NAME IS NULL:2007/04/13(金) 21:56:09 ID:???
Apple社にとってSpotlight開発は業務ではないのか?
26NAME IS NULL:2007/04/13(金) 22:20:37 ID:???
データベース屋からすれば物足りないだろうが、
デスクトップアプリに組み込む分には、データ構造を
考えたりする手間がはぶけていい。そもそも、
それこそが本来の使い方。
27NAME IS NULL:2007/04/13(金) 23:24:18 ID:???
>>21
発狂するってどういう気分?
28NAME IS NULL:2007/04/13(金) 23:56:04 ID:???
サポート無しのsqぃてを、業務で使うなんてありえない
問題が起こってからじゃ遅いんだぜ
29NAME IS NULL:2007/04/14(土) 00:09:23 ID:???
accessマンセー
30NAME IS NULL:2007/04/14(土) 00:59:28 ID:???
>>27
自分が壊れていくというのはとても恐いものだよ。
昼間っからリアルな幻覚見るし。
布団に入れば枕元を大きな蜘蛛が這い回り、眠って見るのは悪夢。
彼をこんな行動に駆り立てているのは恐怖なのさ。
31NAME IS NULL:2007/04/14(土) 01:58:04 ID:???
>>28
お前は他にもサポートの無いソフトを業務で使ったことは一切ないんだろうな?
32NAME IS NULL:2007/04/14(土) 02:30:15 ID:???
そもそも業務というものを一切やったことないのでは?w
3328:2007/04/14(土) 02:41:41 ID:???
お金を払えばサポートあるのかな、誰か英語訳してくれ
http://www.hwaci.com/sw/sqlite/prosupport.html
34NAME IS NULL:2007/04/14(土) 02:48:09 ID:???
>>28
ベンダのサポートがあっても問題は起きないわけじゃない。
必ず解決してくれるとも限らない。
君のようなレベルだと専属のコンサルタントを雇うのが良いだろう。
35NAME IS NULL:2007/04/14(土) 06:04:13 ID:???
サポートにかけるコストとそれにより回避しうる潜在損失を計算しない奴に業務とかいわれてもな。
36NAME IS NULL:2007/04/14(土) 07:08:36 ID:???
サポートはあるが日本語では無理だな。確実に
37NAME IS NULL:2007/04/14(土) 08:51:16 ID:???
>>30
具体的だね。それは実体験?
38NAME IS NULL:2007/04/14(土) 10:04:17 ID:???
SQLITEって自動的にUTF-8を使えるの?
DB作るときに何か設定するの?
39NAME IS NULL:2007/04/14(土) 10:15:06 ID:???
調べればいいじゃないか
40NAME IS NULL:2007/04/14(土) 10:38:32 ID:???
>>37
本職のプログラマならあのくらい追い詰められるのはフツー
41NAME IS NULL:2007/04/14(土) 13:03:40 ID:???
SQLiteってどうすればCURSOLが使えますか?
42NAME IS NULL:2007/04/14(土) 13:05:37 ID:???
CURSOLって何?
43NAME IS NULL:2007/04/14(土) 13:17:36 ID:???
もしかして: CURSOR
44NAME IS NULL:2007/04/14(土) 13:21:48 ID:???
>>41
ググれかす
45NAME IS NULL:2007/04/14(土) 15:57:38 ID:???
>>28
Solaris 10 ではサービス管理に SQLite を使ってるし
Symbian OS の上位版には SQLite が組み込まれてるし
東芝の輸出申請書の中に「SQLite」の文字があったりするんだが
46NAME IS NULL:2007/04/14(土) 16:54:09 ID:???
>>28
あんたにとっては、あり得ない世の中になりつつあるな
47NAME IS NULL:2007/04/14(土) 18:25:21 ID:???
Firefoxもsqlite使ってるね。
48NAME IS NULL:2007/04/14(土) 18:44:18 ID:???
Sleipnir2もsqlite使ってるね。
49NAME IS NULL:2007/04/14(土) 19:29:10 ID:???
そーいや、アクセス使ってるのって無いんじゃね。
へへっ、なんだ、蜃気楼みたいなもんだったんだな。
50NAME IS NULL:2007/04/14(土) 20:35:08 ID:???
>>40
> 本職のプログラマならあのくらい追い詰められるのはフツー

それが普通の底辺プログラマさん。こんばんわ。
今日もこんな時間までお仕事ご苦労様です。
51NAME IS NULL:2007/04/14(土) 20:51:14 ID:???
Janeもsqlite使ってるね。
52NAME IS NULL:2007/04/14(土) 20:59:27 ID:???
Janeじゃねぇ
53NAME IS NULL:2007/04/14(土) 21:26:56 ID:???
つまり配列構造を扱えないマカがsqliteを使ってるってこと?
54NAME IS NULL:2007/04/14(土) 22:57:04 ID:???
>53
日本語でおk
55NAME IS NULL:2007/04/14(土) 23:15:04 ID:???
配列構造とデータベースを同列に扱う馬鹿がいますねw
56NAME IS NULL:2007/04/18(水) 19:48:46 ID:arYv/vQ7
こんにちは。
検索条件で日付を使いたいときというのは、
割と頻繁にがあると思うのですが、
SQLiteでは、UNIXタイムを保存して比較するのが定番でしょうか?
'yyyymmdd'の形式でも文字列比較でどうにでもなるような気もしつつ質問です。
57NAME IS NULL:2007/04/18(水) 20:29:43 ID:???
>>56
それが楽だと思う。
58NAME IS NULL:2007/04/18(水) 22:41:07 ID:???
UNIXタイムだと32bitの壁をやぶれない
59NAME IS NULL:2007/04/18(水) 22:57:16 ID:???
64bitにすればいいじゃん
6056:2007/04/19(木) 08:55:17 ID:ed0eQyNa
ありがとうございます。
今のところ、32bitの壁(2038年問題でしたっけ?)はちょっと気になったので、
UNIXタイム(64bit)を文字列として保存しているんですが…。
SQLiteのINTEGERって32bitですよね?(処理系依存なのかな?)
61NAME IS NULL:2007/04/19(木) 11:12:48 ID:???
http://www.sqlite.org/datatype3.html
INTEGER. The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value.
62NAME IS NULL:2007/04/20(金) 03:05:56 ID:???
>>56
SQL 的には julianday の方がメジャー。
julianday なら double で取り出して -2415018.5 すれば VT_DATE に変換できるし。
63NAME IS NULL:2007/04/20(金) 03:19:20 ID:???
ちなみに使い方は

CREATE TABLE schedule(date REAL NOT NULL, task TEXT NOT NULL);
INSERT INTO schedule( date, task ) VALUES( julianday( 'now' ), 'Meeting' );

SELECT task FROM schedule WHERE date BETWEEN julianday( '2007-04-19' ) AND julianday( '2007-04-20' );
SELECT strftime( '%m-%d %H:%M', date, 'localtime' ) FROM schedule WHERE task='Meeting';
6456:2007/04/20(金) 10:32:24 ID:7QIoKb5j
>>62-63
そういえば、関数をチェックするのを忘れていました。
ありがとうございました。
65NAME IS NULL:2007/04/20(金) 10:41:02 ID:???
66NAME IS NULL:2007/04/20(金) 16:33:59 ID:???
>>62-63
勉強になるな。
おれなんかTEXTで'YYYYMMDD'しか使ってないもんな。
67NAME IS NULL:2007/04/21(土) 17:21:29 ID:???
アクセス厨が来なくて寂しいな
68NAME IS NULL:2007/04/21(土) 17:24:58 ID:???
死んだんじゃね?
69NAME IS NULL:2007/04/22(日) 02:34:05 ID:???
呼ぶなバカ
70NAME IS NULL:2007/04/24(火) 09:02:08 ID:Ma6C8bPt
PHPにバンドルされているSQLite3(3.3.3)なんですが、
explain select * from user where id=1;
みたいなクエリーを発行すると、Segmentation faultしてしまいます。

そこでキーの使われ方について質問したいのですが、
MySQLのように、検索条件が複数になった際に、
同じ複合キーをキーとして定義していないとキーが使われないということはないですよね??
71NAME IS NULL:2007/04/24(火) 11:02:03 ID:???
すっかり過疎ってるな。
みんなアクセスに脱北したのか?
72NAME IS NULL:2007/04/24(火) 21:57:38 ID:???
うん。あっちで荒らしているよw
73NAME IS NULL:2007/04/25(水) 03:14:48 ID:???
マカばっか(w
74NAME IS NULL:2007/04/26(木) 20:26:26 ID:???
2007-Apr-25 - Version 3.3.17
75NAME IS NULL:2007/04/26(木) 20:41:05 ID:???
>>70
検索条件が複雑な場合、どのインデックスが使われるかは
オプティマイザが決定するが、複数のインデックスが
同時に使われることはない。

オプティマイザを賢くするため、定期的に ANALYZE するのを
お勧めする。
76NAME IS NULL:2007/04/26(木) 23:34:15 ID:???
これって1000万レコードとか管理できる?
77NAME IS NULL:2007/04/26(木) 23:36:24 ID:???
できる
78NAME IS NULL:2007/04/26(木) 23:43:21 ID:???
アクセスで言う所のインデックス再構築だな。
79NAME IS NULL:2007/04/26(木) 23:45:15 ID:???
1億くらいまでならやったことある
8070:2007/04/27(金) 09:19:50 ID:W77D2/Tj
>>75
ありがとうございます。
参考にさせていただきます。
81NAME IS NULL:2007/04/27(金) 09:41:15 ID:???
>>79
パフォーマンスはどうよ?
82NAME IS NULL:2007/04/27(金) 12:30:28 ID:???
1億レコードのファイルサイズとか知りたい。
10GBのファイルをごりごり動かしてそうだが。
83NAME IS NULL:2007/04/27(金) 14:34:58 ID:???
最高で500万くらいはあるけど一億は無いなw
ありえんwwそこまでやるなら普通のDB検討するだろww
差分バックアップもできねえし、普通やらねーだろww
84NAME IS NULL:2007/04/27(金) 15:36:42 ID:???
まずは「普通」の定義を
85NAME IS NULL:2007/04/27(金) 16:37:54 ID:???
Liteじゃないヤツ
86NAME IS NULL:2007/04/27(金) 19:35:55 ID:???
sendmail のログを1〜2年分解析するために
Perl + DBD::SQLite で1000万行程度突っ込んだことがある。

■環境
CPU: Pentium 4 2.4GHz
MEM: 1GB
HDD: 5400rpm 80GB
OS: Windows XP SP2
Perl: ActivePerl 5.8.8

■こんな処理をやった
1.ログの各行毎に、
・時刻、プロセスID、キューID、行全体テキストに分けてmaillogテーブルに突っ込む
・送信主と送信先のメールアドレスとmaillogテーブルの行IDをmailaddrテーブルに突っ込む
2.maillogテーブルのキューIDにインデックス作成
3.mailaddrテーブルのメールアドレスにインデックス作成

■かかった時間
1.1000万行の行追加 → 約8分
2.キューIDインデックスの作成 → 約3時間
3.メールアドレスインデックスの作成 → 約13時間

ちなみに2と3のインデックス作成はデフォルトだと無限と思えるほど遅かった。
PRAGMA cache_size = 100000;
してメモリを大量に使うようにしてやっと↑の時間で済んだ。(それでも遅いが…)

全件挿入後の DB ファイルサイズはメモってなかった。
確か 4GB くらいだったと思う。

>>83
こういうログ解析みたいな使い方するためにいちいち MySQL 鯖立てたりする意味ないだろ。
Web アプリのバックエンドだけが DB じゃないよ。
8786:2007/04/27(金) 19:41:04 ID:???
で、上記の通り SQLite はインデックス作成が妙に遅かったので、他の DBMS と比べてみた。
環境は同じで、行数は1000万じゃやってらんないので、そのうちの一部、80万行程度を材料にした。

■SQLite 3.3.5 (DBD::SQLite 1.12)
insert: 7:09
index1: 0:17
index2: 10:49
total: 18:15

■MySQL 5.0.21 (DBD::mysql 3.0002)
insert: 22:45
index1: 8:35
index2: 8:07
total: 39:27

■PostgreSQL 8.1.3 (DBD::PgPP 0.05)
insert: 83:07
index1: 1:07
index2: 1:31
total: 83:45

・SQLite は INSERT は速いがインデックス作成が遅い。
・MySQL は INSERT は SQLite より遅いし、インデックス作成もあまり速くない
・PostgreSQL は INSERT は遅いがインデックス作成がとても速い。
 (なお、INSERT が遅いのは PP 版のモジュールを使った影響が大きそう。
  もし XS 版のモジュールが使えたら他と肩を並べられた可能性あり。)

index1 と index2 で偏りがあるのは、
index1 はキューIDで、値が偏りなく分散しているのに対し、
index2 はメールアドレスで、一部の値に偏って多数重複している
という傾向の違いが影響してそうだ。
88NAME IS NULL:2007/04/27(金) 19:55:38 ID:???
MySQLは、MyISAMかInnoDBかでだいぶ違うんじゃないの?
89NAME IS NULL:2007/04/27(金) 20:11:56 ID:???
もちろんやっているだろうけど、トランザクションとかも影響するよね。
90NAME IS NULL:2007/04/27(金) 21:19:37 ID:???
単純な検索やINSERTはよく比較されているけど、
JOINが入るときはまた大きく違うと思うんだけどなぁ

実際にありそうな設計のテーブルで
ちゃんとインデックスをつけたときの比較ってのを
やってほしいなぁ。誰か。
91NAME IS NULL:2007/04/27(金) 22:07:56 ID:???
>>86
ログ解析だけならもっとなんとかできんのかww
時間かかりすぎだろwww
9286:2007/04/28(土) 01:45:34 ID:???
>>88
あーそういえば意識してなかった。
デフォルトはどっちなんだろうか

>>91
インデックス作成が異様に遅いのがね…
結局作らない方がトータルの処理は速かったな…
93NAME IS NULL:2007/05/01(火) 10:55:57 ID:???
>>86
このとき、 SELECT の方の性能は比較してない?
94NAME IS NULL:2007/05/01(火) 15:22:15 ID:???
1000万ログならトランザクション使えばもっと速くなるよ。
sqliteだと無理だが。アクセスすらトランザクション使えるよ。
95NAME IS NULL:2007/05/01(火) 15:43:38 ID:???
>>94
sqliteでも普通にトランザクション使ってるが。
つーか、大量の挿入とか使わないと遅い。

アクセス厨って馬鹿ばっかだな。
96NAME IS NULL:2007/05/01(火) 15:44:01 ID:???
>>94
無理して話題に参加しなくても良いよ。
97NAME IS NULL:2007/05/01(火) 16:34:16 ID:???
じゃあsqliteのトランザクションの有無のベンチマーク示してみろよ。
無いから大して変わりないだろ。
98NAME IS NULL:2007/05/01(火) 16:49:37 ID:???
>>97 は何を言ってるんだ?
99NAME IS NULL:2007/05/01(火) 17:05:00 ID:???
sqliteのトランザクション有無の差はかなりある
beginしなかったらinsertのたびにcimmitされるんだぜ
100NAME IS NULL:2007/05/01(火) 17:07:51 ID:???
>>94
アクセスに1000万件は無理だろwww常識的に考えてwwww
やってみてくれwww
101NAME IS NULL:2007/05/01(火) 18:42:24 ID:???
野良犬に餌をやるなって。
102NAME IS NULL:2007/05/01(火) 18:50:45 ID:???
いやー、良く釣れるわw
103NAME IS NULL:2007/05/01(火) 19:37:28 ID:???
マカって本当に馬鹿だわ(w
104NAME IS NULL:2007/05/01(火) 22:16:32 ID:???
>>103
またおま(ry
105NAME IS NULL:2007/05/01(火) 22:42:53 ID:???
http://journal.mycom.co.jp/special/2004/php5/007.html

さすがはMySQLといったところだが、SQLiteの16秒は
ちょっとかかりすぎだろう。どうやら大量データの連続挿入は
SQLiteの不得意な処理のようだ。

              ↓

お詫びと訂正
SQLiteでは明示的にトランザクションを開始しない限り、
INSERT処理の前後に必ず"BEGIN"、"COMMIT"が実行される。
後日追試を行ったところ、MySQLに対して大幅に処理時間が
かかったのはこのためであることがわかった。試しに、次のように
繰り返し処理を1つのトランザクション内に置いてみたところ、
1000件の挿入もMySQLを上回る0.221312秒で完了した。
106NAME IS NULL:2007/05/01(火) 23:34:34 ID:???
自動コミットも知らん奴が記事を書く時代なのか
107NAME IS NULL:2007/05/01(火) 23:59:56 ID:???
こりゃ酷い記事だ事。
108NAME IS NULL:2007/05/02(水) 00:22:55 ID:???
3年前の情報の少ない時に書かれた記事だからな。
大目に見てやれ。
109NAME IS NULL:2007/05/02(水) 01:24:24 ID:???
ログ1000万行追加8分ってトランザクションありの話?
11086:2007/05/02(水) 01:29:22 ID:???
>>93
してない。
仮にやったとしても、その時の用途だと
INSERT や CREATE INDEX にかかる時間と比べると
SELECT はゴミのように一瞬で終わったからほとんど比較にならなかっただろう。

>>94
一応マジレスしておくと、SQLite にもトランザクションはあるよ。
っていうかトランザクション使わないとどうしようもなく遅くなる。
>>86のようなケースなんか100倍遅くなってもおかしくない。
111NAME IS NULL:2007/05/02(水) 01:42:39 ID:???
今おもったんだけど86のってテーブル作ってデータを全部挿入してから
インデックス作ってるけど、最初にインデックスを作ってからデータを
挿入していったとしたらどっちが早いかな。
11286:2007/05/02(水) 03:09:04 ID:???
>>111
最初そうしてみたんだけどさらに果てしなく遅かった
113NAME IS NULL:2007/05/02(水) 10:19:10 ID:???
それはトランザクション使って果てしなく遅いのか?
やっぱりアクセスの方が早いな。
114NAME IS NULL:2007/05/02(水) 11:00:34 ID:???
>>113
というわけで、同条件でベンチマーク結果を貼ってちょ
115NAME IS NULL:2007/05/02(水) 13:24:40 ID:???
アクセスなら5分だよ。
アクセス95のファイルも問題なく読める。
116NAME IS NULL:2007/05/02(水) 13:37:48 ID:???
アクセス厨を相手にしちゃいけません。馬鹿ですから。
117NAME IS NULL:2007/05/02(水) 13:55:05 ID:???
馬鹿とか、そんなレベルじゃねぇだろ。精神疾患。
118NAME IS NULL:2007/05/03(木) 00:05:27 ID:???
アクセス厨はスレを盛り上げてるだけだろ
119NAME IS NULL:2007/05/03(木) 00:10:27 ID:???
でもアクセスの話題がないと過疎るよね。
マカって馬鹿だし。
120NAME IS NULL:2007/05/03(木) 15:38:20 ID:p1F62II5
SQLite←これなんてよむんですか?エスキューライト?
121NAME IS NULL:2007/05/03(木) 15:43:05 ID:???
SQLiteと書いて「アクセス」と読むんだよ
122NAME IS NULL:2007/05/03(木) 21:14:53 ID:p1F62II5
>>121 majimeni onegaisimasu.
123NAME IS NULL:2007/05/03(木) 21:36:05 ID:???
124NAME IS NULL:2007/05/03(木) 22:41:14 ID:p1F62II5
>>123
どうもありがとうございます。エスキューライトみたいですね。

あなたは親切なので、いいことを教えてあげます。
ちなみにSQLiteを日本語入力で変換すると、「SQLいて」になります。小文字のところでシフトキーをはなしてみてください。
125NAME IS NULL:2007/05/03(木) 22:48:48 ID:???
もっといいことを教えろ
126NAME IS NULL:2007/05/03(木) 23:11:49 ID:???
アクセスの方が使いやすい。
127NAME IS NULL:2007/05/04(金) 17:43:41 ID:???
標準偏差とかの関数ってあるの?
128NAME IS NULL:2007/05/04(金) 17:48:08 ID:???
アクセスにはあるんだけど、つかえないな
129NAME IS NULL:2007/05/04(金) 19:33:53 ID:???
自分で作ったって10秒くらいだろ
130NAME IS NULL:2007/05/04(金) 20:23:20 ID:???
作れません。
131NAME IS NULL:2007/05/04(金) 20:26:25 ID:???
>>130
可哀想にw
132NAME IS NULL:2007/05/04(金) 20:50:48 ID:???
SQLiteでは行を集計する関数は本当に作れないよ。
これは俺も昔やろうと思って気がついた。
133NAME IS NULL:2007/05/04(金) 21:02:33 ID:???
おいおい本当にアクセスより劣るのかよ。困るよ。しっかりしてくれよ。
もうアクセス使うことにする。
134NAME IS NULL:2007/05/04(金) 21:26:08 ID:???
自分でプログラムを書けない人ってデータベースに全てを頼ろうとするね。
まぁそういう奴の設計したデータベースなんてどうせ使い物にならんから
俺には関係ないけど。
135NAME IS NULL:2007/05/05(土) 00:00:39 ID:???
>>132
ソース公開されているんだから
自分で付け加えればいいじゃん?
136NAME IS NULL:2007/05/05(土) 00:10:32 ID:???
http://yumi-ii.squares.net/archives/2007/01/20070104193404.php

2007-01-04 SQLiteで集約関数を追加する
SQLiteのSQL文にて,中央値(メディアン<英>Median)関数を使えるようにします。
今回,実装するのは集約関数(avg,sumのようにSELECTで抽出した要素に対して作用する関数)です。



Medianが追加できるんだから、標準偏差だって使えるだろ。

さすがSQLiteって感じだね
137NAME IS NULL:2007/05/05(土) 00:11:28 ID:???
さすがだな
138NAME IS NULL:2007/05/05(土) 00:14:14 ID:???
なんだかよくわからんが凄い地震だ。
139NAME IS NULL:2007/05/05(土) 01:41:38 ID:???
>>132
独自の集約関数を作れないのはAccessの方だろ?
140NAME IS NULL:2007/05/05(土) 01:43:15 ID:???
↑アクセスに詳しそうな奴、登場
141NAME IS NULL:2007/05/05(土) 03:08:41 ID:???
そーいや、正規表現用の追加って、どこら辺の資料見れば出来る?
142NAME IS NULL:2007/05/05(土) 05:08:14 ID:???
久しぶりに来たが相変わらず信者とアンチの温度差が激しいスレだな。
143NAME IS NULL:2007/05/05(土) 08:47:16 ID:???
アクセスは既に用意されている。
sqliteは無いし、作れない。
大きな違いだと思うが。

標準偏差が使えないのは業務では厳しいと思うよ。
144NAME IS NULL:2007/05/05(土) 09:13:59 ID:???
アンチじゃないだろ。ただのキチガイ。
145NAME IS NULL:2007/05/05(土) 09:31:22 ID:???
標準偏差を作ってみたが、
こりゃ酷い。

やっぱアクセスでいくわ
146NAME IS NULL:2007/05/05(土) 09:43:54 ID:???
標準偏差の場合、Accessは標準でついているが、SQLiteはついていない。

SQLiteではついていなくても、自分で追加するための機能がついているため
標準偏差など、好きな集約関数を追加する事ができる。

Accessは、自分で集約関数を追加する事は出来ない。(普通の関数ならできる)

ということでOK。

> 標準偏差を作ってみたが、
> こりゃ酷い。
自分で作った標準偏差機能が酷いのか?w
作れる事の証明にはなっているが。
147NAME IS NULL:2007/05/05(土) 12:29:10 ID:???
AccessをNGワードにすればいいのか
148NAME IS NULL:2007/05/05(土) 12:58:31 ID:???
カタカナで「アクセス」をNGワードにすればいいよ。

例のへたれは英語で書けないようだからw
149NAME IS NULL:2007/05/05(土) 16:53:16 ID:???
やっぱりァクセスのほうが優れてるよな。
150NAME IS NULL:2007/05/05(土) 18:39:17 ID:???
でもアクセス使ってるアプリって、全くないんだぜ。
151NAME IS NULL:2007/05/05(土) 20:38:47 ID:???
>>150
カップラーメンを使ってるアプリも見たことないな。
カップラーメンは駄目だな。
健康にも悪そうだし。
152NAME IS NULL:2007/05/05(土) 21:32:52 ID:???
○○を使うアプリが無いからと言って
駄目と言う事にはならんだろ!
その証拠にカップラーメンを使っているアプリも無い!

という馬鹿なことを言いたいとか?w

一体カップラーメンとソフトに何の関係があるんだか。

さすがアクセス厨は馬鹿だなぁ
153NAME IS NULL:2007/05/05(土) 21:41:09 ID:???
カップラーメンという愛称(?)の健康に悪そうなDBMSがきっとあるんだよ。俺は知らんけど。
154NAME IS NULL:2007/05/05(土) 22:15:45 ID:???
適材適所
155NAME IS NULL:2007/05/05(土) 22:51:17 ID:???
廃材集積所
156NAME IS NULL:2007/05/06(日) 00:28:25 ID:???
キャッチアンドリリース
157NAME IS NULL:2007/05/06(日) 00:50:04 ID:???
もずくはもくず
158NAME IS NULL:2007/05/06(日) 00:54:32 ID:???
LinuxやMacでAccessつかいたいんですが?
やっぱりAccessは糞ですか?
やめたほうがいいですか?
159NAME IS NULL:2007/05/06(日) 01:07:28 ID:???
LinuxやMacで使うのならお勧めできる
160NAME IS NULL:2007/05/06(日) 01:09:59 ID:???
ありがとうございます。
お勧めされた通りSQLiteを使います。
Accessは捨てました。
161NAME IS NULL:2007/05/06(日) 01:15:46 ID:???
Jet船越
162NAME IS NULL:2007/05/06(日) 16:10:39 ID:???
Googleが使ってるGoogsqleって何ベース?
自社開発?
163NAME IS NULL:2007/05/06(日) 16:16:50 ID:???
糞Accessでないことは確かだw
164NAME IS NULL:2007/05/06(日) 16:52:02 ID:???
GoogleはMySQLのパッチ出してるから、
ひょっとしたらMySQLベースかもな。
165NAME IS NULL:2007/05/06(日) 22:15:13 ID:???
だからGoogleはクソなんだ
Access使えばいいのに
166NAME IS NULL:2007/05/06(日) 22:27:11 ID:???
>>165
google と access にどんな関係があるんだ?
167NAME IS NULL:2007/05/06(日) 22:50:11 ID:???
ところでGoogleに対抗するために、MicrosoftとYahoo!が合併するらしいじゃないか。
是非とも新会社では素晴らしいAccessを全社的に使って頂きたいものだな。
168NAME IS NULL:2007/05/06(日) 23:03:35 ID:???
>>167
Google終わったなw
169NAME IS NULL:2007/05/06(日) 23:10:07 ID:???
業務システムでsqliteなんて使われてないし。
東証でもアクセスは使われているよ。マクも使われてない。
170NAME IS NULL:2007/05/06(日) 23:14:28 ID:???
数人同時にアクセスしたら
必ず壊れるアクセスが
使われているわけ無いだろw
171NAME IS NULL:2007/05/06(日) 23:16:01 ID:???
いや、東証システムの異常な性能の悪さを考えると、ありえないとは言えないぞ!
172NAME IS NULL:2007/05/06(日) 23:17:49 ID:???
>>170
いくらなんでもそれは無いだろ・・・と思ってぐぐったら。マジだwwwwwww
ありえねーwwwwwwwwwwww

Jetデータベース(.mdb)の破壊の原因と対処KB一覧
http://www.users.gr.jp/blogs/fullmoon/archive/2004/11/25/6267.aspx

↓これなんかwww おなかよじれるwwww

[ACC2002] Jet 4.0 の使用時にデータベースの破損を最小限に抑える方法
http://support.microsoft.com/kb/303528/JA/

「最小限に抑える」だってwwww 破損しない方法ですらないじゃねーかーwww
173NAME IS NULL:2007/05/06(日) 23:28:22 ID:???
うまい具合に、アクセスは糞だと
また一つ広められたな。

俺の計算どおりの展開だw
174NAME IS NULL:2007/05/07(月) 01:38:53 ID:???
まぁ、こんなスレで広めなくても
ACCESSの壊れやすさはDB屋なら常識だな。
175NAME IS NULL:2007/05/07(月) 10:58:25 ID:???
CodeZine:SQLiteで組み込みDB体験(2007年版)(SQLite)
ttp://codezine.jp/a/article/aid/1252.aspx
176NAME IS NULL:2007/05/07(月) 16:15:10 ID:???
このスレはアンチアクセススレと改名しました
177NAME IS NULL:2007/05/07(月) 16:23:58 ID:???
業務システムでsqliteなんて使われてないし。
東証でもアクセスは使われているよ。マクも使われてない。
178NAME IS NULL:2007/05/07(月) 17:09:57 ID:???
179NAME IS NULL:2007/05/07(月) 17:17:00 ID:???
へえ
180NAME IS NULL:2007/05/07(月) 17:17:45 ID:???
東証はアクセスやめてフォックスプロにすればいいのにね
181NAME IS NULL:2007/05/07(月) 23:30:08 ID:???
ところでsqliteファイルを共有して、複数の蔵からアクセスするとファイルが壊れるけど仕様?
182NAME IS NULL:2007/05/07(月) 23:44:17 ID:???
さあ再現コードのお時間です
183NAME IS NULL:2007/05/07(月) 23:54:30 ID:???
>>181
そんな仕様ではないので運用の誤りを探すべき
184NAME IS NULL:2007/05/08(火) 00:56:45 ID:???
その程度で壊れるのはJetDBみたいな糞くらいだろ。
185NAME IS NULL:2007/05/08(火) 01:20:18 ID:???
ヒドい誤解をしているヤツがいるな。
186NAME IS NULL:2007/05/08(火) 02:37:45 ID:???
>>181
また嘘ですか?


アク○スは本当にそれで壊れるけどなwww
187NAME IS NULL:2007/05/08(火) 05:15:09 ID:???
SQLiteの辞書に出来ないとか不具合なんて言葉はありません
188NAME IS NULL:2007/05/08(火) 09:20:23 ID:???
>>187
くだらね。
189NAME IS NULL:2007/05/08(火) 10:43:34 ID:V80r1xg7
すんまそん。。

正規化して外部キーが沢山あるテーブルAにinsertする場合、
各情報をそれぞれの各テーブルにinsertしていき、そのidをテーブルAに外部キーとして
記録する、とゆー以外に

なにか特殊なステートメントとかで、テーブルAに対するSQL一発で、全部済んじゃう
なんていう虫のいい方法ってあるのでそうか。。

よろしくおながいします。m(_ _)m
190NAME IS NULL:2007/05/08(火) 13:39:42 ID:???
WS2003上のファイルをアクセスで共有してるけど壊れないよ?
191NAME IS NULL:2007/05/08(火) 13:41:10 ID:???
アクセスでファイルが壊れるかどうかなんて興味ありません
192189:2007/05/08(火) 13:52:42 ID:???
質問すれで聞いた方が良さそうなので、質問刷れに移動させていただきます。
スレ汚しスマソ。

アクセスが壊れやすいとは勉強になりましたw
193NAME IS NULL:2007/05/08(火) 16:27:35 ID:???
sqlite2から3にアップデートしたらファイル壊れたのは懐かしい思いで。
194NAME IS NULL:2007/05/08(火) 16:29:00 ID:???
超素人な質問なんですけど、100万件のデータ(40M)を
SELECT * FROM tablename ORDER BY no DESC LIMIT 2 OFFSET 3
で取り出してるんですが、凄く遅いんです。
普通はこんなものなのですか?
195NAME IS NULL:2007/05/08(火) 17:50:02 ID:???
>>194
アクセスで同じことして比較すればイイじゃん
196NAME IS NULL:2007/05/08(火) 18:35:19 ID:???
>>194
no には index 切ってる?
197194:2007/05/08(火) 18:48:58 ID:???
>>195
ちょっと今は比較できる環境がないんで

>>196
PRIMARY KEYですよね?やってるんですけどね。
SELECT * FROM tablename WHERE no = 1
これなら1秒ぐらいなんですけど…。
198NAME IS NULL:2007/05/08(火) 19:13:43 ID:???
つーか、全件フェッチしてるから遅いんだろ
199194:2007/05/08(火) 19:22:41 ID:???
>>198
ど、どうすればいいんでしょうか?
200NAME IS NULL:2007/05/08(火) 19:23:08 ID:???
手元にあったデータでSQLiteとAccessで実験したが6万件程度だったので
Indexの有無に関わらずどっちも1秒弱。あんま参考にならんね。

ただAccessでLIMITとOFFSETの再現すんのめんどいな。

SELECT TOP 2 * FROM T_master
WHERE (((T_master.cd1)<(SELECT MIN(cd1) FROM (SELECT TOP 3 * FROM T_master ORDER BY cd1 DESC,id))))
ORDER BY T_master.cd1 DESC,id;

純粋にTOPを返してくれるみたいだからORDER BY句にキー入れとかないと
同じ値がたくさんある場合にTOPで指定した数以上のレコード返してくる。
201NAME IS NULL:2007/05/08(火) 19:28:18 ID:???
>>194
SELECT no FROM tablename ORDER BY no DESC LIMIT 2 OFFSET 3
でも遅いか?
202200:2007/05/08(火) 20:23:31 ID:???
ごめん200のSQL文も不正解だわ、つーか1文で済ます正解わかんね。
203NAME IS NULL:2007/05/08(火) 20:28:08 ID:???
order by でインデックスきんかね
btreeは利かないような気がしたが

idxchkでインデックス働いてるか調べてみ
204NAME IS NULL:2007/05/08(火) 21:01:30 ID:???
100万件でやったことはないけど、
そのSQLでnoがプライマリーキーなら
1秒はありえないぐらい遅いだろ。

どこか関係ないところにボトルネックが有るはず。
205NAME IS NULL:2007/05/08(火) 21:03:33 ID:???
>>203
order byでもインデックスは効く
206NAME IS NULL:2007/05/08(火) 23:25:22 ID:???
PCのスペック晒せって感じ。
207NAME IS NULL:2007/05/09(水) 08:48:39 ID:???
486DX memory 8M
208NAME IS NULL:2007/05/09(水) 16:20:40 ID:???
dbmagicでもつかってろ
209NAME IS NULL:2007/05/10(木) 02:08:36 ID:???
アクセス95なら問題無し。
210NAME IS NULL:2007/05/10(木) 02:13:06 ID:???
それ、現在手に入るのか?w
211NAME IS NULL:2007/05/10(木) 03:36:06 ID:???
他のSQLみたいに
WHERE date > 2007-05-01 08:10:52+09:00
と、日付フォーマットの文字列での比較を試みましたが、だめぽ。orz
やるとしたらエポック秒で記録するしかないのでしょうか?
212NAME IS NULL:2007/05/10(木) 07:07:26 ID:???
上のほうに出てた気がする
213NAME IS NULL:2007/05/10(木) 10:00:57 ID:???
文字列なら WHERE date > '2007-05-01 08:10:52+09:00' とかそういう話じゃないよね?
ハイ。失礼しました〜。

というわけで、 >>212 の言う通り、 >>56 からの一連のレスが参考になるかと。
214211:2007/05/10(木) 13:16:05 ID:???
>>212-213
あら、、ログあったんですね。。スマソ
julianday()でINSERTやWHEREして、datetime()でSELECTする、て感じでしょか。
で、スクリプトの中は、YYYY-MM-DD HH:MM:SSで統一と。。。これで逝きマフ
Modifiersなんてのもあるんですね。BETWEENで取り出すときとか便利そう。

どもうありがとでしたー
215194:2007/05/10(木) 18:11:54 ID:???
色々やってみたんですが、全然変わりませんでした。

CREATE TABLE table_name (no INTEGER PRIMARY KEY, name VARCHAR(64), rand INTEGER);
でテーブルを作って、
INSERT INTO table_name VALUES (NULL, 'value3', '{$rand}');
を100万回繰り返し、($randはランダムな数字)
SELECT * FROM table_name ORDER BY no DESC LIMIT 2 OFFSET 3
で得たレコードを
while ($rows = sqlite_fetch_array($result, SQLITE_ASSOC)) {
// 表示処理
}
で、表示するまでに20秒以上かかるんです…。
SELECT * FROM table_name WHERE no = 3
だと、瞬間的に表示されます。

スペックは PowerBook 1.5GHz、メモリ1.25GB、MAMPでやっています。
他の部分はデータベースを開く、閉じる程度しかやってないんですけど。
何か方法がおかしいんでしょうか…?
216NAME IS NULL:2007/05/10(木) 19:42:01 ID:???
確かに SQLite2 で試すと時間かかるねえ。そういうもんだっけか?
217NAME IS NULL:2007/05/10(木) 19:49:33 ID:???
時代は SQLite 5
218NAME IS NULL:2007/05/11(金) 00:32:27 ID:???
未来人ktkr
219NAME IS NULL:2007/05/11(金) 01:42:37 ID:m7WrnMvu
すみません。PHPをインストールしたら勝手にSQLiteが使えるようになっています。

クライアントツールのSQLiteをhttp://www.sqlite.org/download.htmlからダウンロードして
使ってみたんですが、なぜSQLite(サーバー?の方)と交信できるのかわかりません。

サーバーのSQLiteはライブラリだけときいてますが、どうしてクライアントツールの方のSQLiteはサーバーと
交信できるのでしょうか?よろしくお願いします。
220NAME IS NULL:2007/05/11(金) 01:49:36 ID:???
クラサバ純粋培養かよ
221NAME IS NULL:2007/05/11(金) 10:52:41 ID:???
C#のSystem.Data.SQLiteの事はこのスレでいいんですかね。
222NAME IS NULL:2007/05/11(金) 12:02:26 ID:???
100万件で、LIMIT 2 OFFSET 3は3秒で返ってきたけど
LIMIT 2 OFFSET 500000 は53秒だった。

DBD-SQLite (sqlite_version=3.3.7)使用
223NAME IS NULL:2007/05/11(金) 14:29:10 ID:???
マカってアフォだな。インテル買えば早くなるよ。ペンチアムは遅いって馬鹿にしてインテルをね(w

sqliteってクライアントから接続できるの?
224NAME IS NULL:2007/05/11(金) 15:54:41 ID:???
アフォはおまえ。インテルはいってるし。あとSQLiteはクラサバじゃなくて単なるライブラリだ。
225NAME IS NULL:2007/05/11(金) 19:20:31 ID:???
>>222
いくらなんでもそれは何かの間違いだと思う。
そんなに遅かったらDBとして致命的。
226NAME IS NULL:2007/05/11(金) 20:15:52 ID:???
データの取得だけじゃなくて、データ転送+HTMLのレンダリング終了まで含めた時間なんじゃねーの?
227NAME IS NULL:2007/05/12(土) 01:26:58 ID:???
>221
前にも話題になったしいいんでないかな。
残念ながら俺は話題に乗れないけどorz 早くレガシVBから足洗いてぇ(でもどーせVB.netやらされんだきっと)
228NAME IS NULL:2007/05/12(土) 01:28:28 ID:???
>>219
交信の時点で吹いたwww
229NAME IS NULL:2007/05/12(土) 02:18:39 ID:???
>>219
> どうしてクライアントツールの方のSQLiteはサーバーと交信できるのでしょうか?

というのが何らかの錯誤によるもの。SQLite自身にはそのような機能はない
230NAME IS NULL:2007/05/12(土) 15:06:51 ID:???
マカって馬鹿だから今に始まったことでは無い。
231219:2007/05/12(土) 17:20:24 ID:???
なんで、だれもおしえてくれないんですか?クライアントツールのSQLiteはどうして
ライブラリ単体のDBに接続できるんですか?全然、ワケがわかりません。パスが通ってるとかなら
わかりますが、パスもくそもないですし。。お願いします。
232NAME IS NULL:2007/05/12(土) 17:46:34 ID:???
>>231
ライブラリ単体で動くSQLiteにクライアントもサーバも無いから。
サーバに相当する部分までライブラリに入っていて、
アプリケーションにそっくり組み込まれてしまう。
だからSQLiteは「組込み型」と呼ばれ、
MySQLやPostgreSQLのようなクライアント/サーバ型のDBMSと区別される。
233NAME IS NULL:2007/05/12(土) 19:05:17 ID:???
なぜ組み込み型の事例で真っ先に firefox を挙げられなかったんだろうか?
234219:2007/05/12(土) 20:09:37 ID:???
>>231
どうもありがとうございます。親切な方ですね。とりあえず、クライアントサーバーとは違うということは
よくわかりました。自分はまだ不勉強物ですので、はっきり理解はできませんが、回答してくれたことを
覚えておきたいとおもいます。

親切にありがとうございました。
235NAME IS NULL:2007/05/13(日) 00:07:33 ID:Gs+BIw4T
>>234
言葉がおかしいから誰も答えたくないんだよ。
クライアントツールのSQLite ???
ライブラリ単体のDB ???
パスが通ってるとかなら分かる???

カンマ区切りのcsvファイルを読み書きするのに
サーバとかクライアントなんて意識しないだろ?
それと一緒。
236NAME IS NULL:2007/05/13(日) 00:16:45 ID:???
要するにSQLiteにはDBMSのMS部分がごっそり抜けてるだけってことでもういいだろこのネタは
237NAME IS NULL:2007/05/13(日) 00:22:30 ID:???
>>236
馬鹿登場
238NAME IS NULL:2007/05/13(日) 04:08:09 ID:???
ここでアクセス厨登場
239NAME IS NULL:2007/05/13(日) 06:01:38 ID:???
Sqliteはメモリキャッシュ機構を持たないのでHDDがすぐ壊れる
240NAME IS NULL:2007/05/13(日) 06:55:36 ID:???
ちょっと質問
テーブルがいくつかあり、sqlite3_bind_textを使ってテーブル名を次々変更させるため
int ret=sqlite3_prepare(db,"select * from ?", -1, &stmt, NULL);を実行すると
このret値がSQLITE_ERRORになるんですが、select文のときはこんな風に
?を使えないんでしょうか
241NAME IS NULL:2007/05/13(日) 11:43:43 ID:???
>>240
?の対象がテーブル名の場合に使えないんじゃないかな。
"SELECT * FROM hoge WHERE fuga = ?"
ならSELECT文でも使える。
242NAME IS NULL:2007/05/13(日) 18:41:46 ID:???
GUIでDB作れるアクセスが楽だわ。
243NAME IS NULL:2007/05/13(日) 19:01:14 ID:???
>>242
GUIでしかDBを作れない低脳か。
やっぱAccess厨は馬鹿しかいないんだな。
244NAME IS NULL:2007/05/13(日) 20:50:06 ID:d809YbuR
すみません。SQLiteをつかっているんですが、SQLiteの文字コードは何ですか?

Unicodeみたいですが、詳しくはネットで探してもわかりませんでした。

MySQLにデータ移行しなくてはいけないんですが、それによって、MySQLでの文字コードも
決めるか、元のデータを変換しなくてはならないので・・

よろしくお願いします。
245NAME IS NULL:2007/05/13(日) 21:06:10 ID:???
>>244
データ挿入時に使った文字コードじゃない?
246244:2007/05/13(日) 21:43:59 ID:d809YbuR
>>245
そうなんですか。ありがとうございます。じゃ、一度MySQLのほうにデータを
移してみます。

ありがとうございました。
247NAME IS NULL:2007/05/13(日) 23:08:15 ID:???
国際化されてないsqlite。
UTF8で統一されてるMySQLとアクセスは勝ち組。
248240:2007/05/13(日) 23:15:25 ID:???
>>241
回答どうもです
いろいろやってますが、おっしゃるようにそんな感じですね
where句は使わないのでsprintfでsql文作ることにします
249NAME IS NULL:2007/05/13(日) 23:40:11 ID:???
>>247
再び馬鹿登場
250NAME IS NULL:2007/05/14(月) 01:21:04 ID:???
誘蛾灯のようなスレだなw
251NAME IS NULL:2007/05/14(月) 15:38:47 ID:???
なんでSQLiteが目の仇にされてるのかがわからん。
殆どのSQLiteユーザーって他のDBMSも使ってるんじゃないの?
SQLiteでいいならそうしてるだけで。
252NAME IS NULL:2007/05/14(月) 15:41:09 ID:???
>>251
キチガイの考えを推測するのはやめておけ。感染するぞ。
253NAME IS NULL:2007/05/14(月) 20:27:47 ID:Jn92LTQp
最初にテーブルを作ったものは、test.sqliteとテーブルのファイルがありますが、
後にbunruiテーブルをつくったのですが、ファイルもありませんし、PHPからもアクセスできません。

ちなみに、SQLiteManagerを使って作成しました。どういうことでしょうか?

bunrui.sqliteファイルが作成されてないということは、ハードディスク上にテーブルが作成されていないということなんでしょうか?
もしくは、php_dbというデータベース名のデータベースのファイルに作成されているのでしょうか?

.sqliteファイルがないということは、テーブル作成にうまくいっていないのですか?
254NAME IS NULL:2007/05/14(月) 20:53:29 ID:???
>>253
1ファイル1テーブルと勘違いしていないか?
255253:2007/05/14(月) 21:27:28 ID:Jn92LTQp
>>254
そうですね。1DB1ファイルですね。僕の勘違いでした。

簡単なスクリプトなのに、PHPから接続できないので、焦っていました。よくみてませんでした。

どうもありがとうございます。
256NAME IS NULL:2007/05/15(火) 04:49:19 ID:ivX2cZR4
>>244
PRAGMA encoding = "UTF-8";
PRAGMA encoding = "UTF-16";
PRAGMA encoding = "UTF-16le";
PRAGMA encoding = "UTF-16be";

好きなのを使え
257NAME IS NULL:2007/05/16(水) 01:30:22 ID:???
時代はJISだ
258NAME IS NULL:2007/05/16(水) 01:33:49 ID:???
メールの文字化けは避けたいからな。
259NAME IS NULL:2007/05/16(水) 23:26:10 ID:???
sqliteでupsertできる?
やっぱりできないよな。

oracle最強
260NAME IS NULL:2007/05/16(水) 23:49:56 ID:???
といいつつ >>259 はアクセス経由でしかoracleをさわれないのであった
261NAME IS NULL:2007/05/17(木) 03:16:05 ID:???
>>259
忠告

調べてから書くようにすると、恥をかかなくてすむよ
262NAME IS NULL:2007/05/17(木) 09:49:08 ID:???
>>259
INSERT OR REPLACE とか?
263NAME IS NULL:2007/05/17(木) 12:27:43 ID:???
似てるけど、厳密には違うな
264NAME IS NULL:2007/05/17(木) 13:00:50 ID:???
>>263
kwsk
265NAME IS NULL:2007/05/17(木) 13:15:38 ID:???
なんでもいいけど、
先に目的があってそれを実現するための手段だろ。
目的不明で手段の比較しても無意味。
266NAME IS NULL:2007/05/17(木) 14:00:45 ID:???
目的:トラウマになったソフトを誹謗中傷して魂の平穏を得る事
手段:あくせしゅとおらこーをほめたたえる
267NAME IS NULL:2007/05/17(木) 14:04:32 ID:???
別に目的はおいといて手段の比較だけするのも意味なくはないんじゃない。
268NAME IS NULL:2007/05/17(木) 14:11:05 ID:???
>>267
機能比較の一覧表でも作るなら意味はあるが、
個別の機能を唐突に取り出して比較するのは無意味。
ていうかキチガイの行動に意味も何もあるかよw
269NAME IS NULL:2007/05/17(木) 14:40:10 ID:???
Oracleのupsert相当の処理をSQLiteでどう書くか説明されると何か困ることでもあるのか?>>268=259
270NAME IS NULL:2007/05/17(木) 14:46:42 ID:???
replace into構文を知らんとは、
ドキュメントを読んでない証拠だな。
271NAME IS NULL:2007/05/17(木) 14:49:51 ID:???
>>270
読んでみたけど INSERT OR REPLACE とどう違うかわからない。
272NAME IS NULL:2007/05/17(木) 17:13:53 ID:???
同じなら消すんだろ。そして入れるんだろ
他方は同じなら書くんだろ
273NAME IS NULL:2007/05/17(木) 17:24:53 ID:???
>>272
そうなの?
「The REPLACE command is an alias for the "INSERT OR REPLACE"」
ってあるから同じものかと思ってた。
274NAME IS NULL:2007/05/17(木) 19:15:22 ID:???
よそでバカにされまくってるよ、このスレ
275NAME IS NULL:2007/05/17(木) 19:20:52 ID:???
ふーん
276NAME IS NULL:2007/05/17(木) 19:42:34 ID:???
生産性のあるレスが2割ぐらいしかないからな。
277NAME IS NULL:2007/05/17(木) 19:49:37 ID:???
UNIX板じゃ普通
278NAME IS NULL:2007/05/18(金) 00:18:30 ID:???
>>276
2割ってのは実は2chの平均くらいじゃないのか…?
279NAME IS NULL:2007/05/18(金) 00:39:45 ID:???
2割もあったら良スレどころか神スレの域
280NAME IS NULL:2007/05/18(金) 01:55:33 ID:???
結局upsertがSQLiteのINSERT OR REPLACEとの違いを説明できないのかw
281NAME IS NULL:2007/05/18(金) 07:36:33 ID:???
ふつうmergeつかうだろ
282NAME IS NULL:2007/05/18(金) 08:40:27 ID:???
>>280
タカ AND トシ
283NAME IS NULL:2007/05/19(土) 02:01:34 ID:???
updateをほとんど発行してない場合は、vacuumする意味ないっすよね?
284NAME IS NULL:2007/05/19(土) 02:02:15 ID:???
>updateとdelete
285NAME IS NULL:2007/05/20(日) 00:59:00 ID:???
まあマカはオラクルなんて使ったことないだろうしな。
286NAME IS NULL:2007/05/20(日) 01:22:05 ID:???
sqliteって暗号化できる?
自前で入れるデータを暗号化するしかないの?w
287NAME IS NULL:2007/05/20(日) 02:06:46 ID:???
有料版なら暗号化サポートしとるよ。

というか、オープンソースなんだから
ない機能は作ればいいだけ。
288NAME IS NULL:2007/05/20(日) 02:08:49 ID:???
有料版?
289NAME IS NULL:2007/05/20(日) 05:51:33 ID:???
無料版使ってる貧乏人キター
290NAME IS NULL:2007/05/20(日) 13:37:32 ID:???
マカは貧乏人。
OSもソフトもフォントも割れ。
291NAME IS NULL:2007/05/20(日) 17:28:36 ID:???
へぇ。フォント〜。
292NAME IS NULL:2007/05/20(日) 21:59:59 ID:???
アクセスなら有料で安心だ。
293NAME IS NULL:2007/05/20(日) 23:00:49 ID:???
>292
余剰予算の消化に最適ですね。
294NAME IS NULL:2007/05/22(火) 01:20:42 ID:???
つーか、オフィスプロぐらい普通に予算取れるよな。
マカってオフィスも買えないほど低予算なのか?
295NAME IS NULL:2007/05/22(火) 01:26:17 ID:???
公務員乙
296NAME IS NULL:2007/05/24(木) 00:29:58 ID:???
公務員ほど林檎信仰。能力低いからな。税金で買うから値段高くても気にしないし。
297NAME IS NULL:2007/05/27(日) 16:28:47 ID:???
夕張感覚の公務員なんていくらでも居るしなあ。
税金だからって好きに使ってる。
298NAME IS NULL:2007/05/27(日) 16:35:49 ID:???
税金好きに使えなきゃ公務員になった意味がねーだろw
299NAME IS NULL:2007/05/27(日) 17:23:47 ID:???
税金だけならいいんだけど他人に借金させてまで自分が欲しいもの買うなよって言いたい。
すれ違いだけど
300NAME IS NULL:2007/05/27(日) 17:53:02 ID:???
コスト削減して税率下げて、納税者の負担を減らそうと言う気がないって話。
行政も民間みたいに競争しないと努力しないから駄目だよな。
301NAME IS NULL:2007/05/27(日) 20:36:43 ID:???
>>300
Access使わないでSQLite使えって話?
302NAME IS NULL:2007/05/28(月) 02:16:22 ID:???
>>301
公務員がうらやましいって話だよ
303NAME IS NULL:2007/05/29(火) 07:10:18 ID:???
まあマカはウィンドウズがうらやましいって話だろ。
304NAME IS NULL:2007/05/29(火) 19:07:13 ID:???
俺のマラも嫁のウィンドウズ大好きだよ
305NAME IS NULL:2007/05/31(木) 02:29:13 ID:???
やっぱりアクセスが使えるウィンドウズが最強(w
306NAME IS NULL:2007/05/31(木) 03:36:18 ID:???
何でアクセス厨はSqliteスレにしか出張してこないんだろう
307NAME IS NULL:2007/05/31(木) 06:44:40 ID:???
アクセスはネタだろうて
308NAME IS NULL:2007/05/31(木) 06:53:45 ID:???
sqlite2のDBファイルが読めないなんて、アクセスにも劣る互換性だからじゃね?
309NAME IS NULL:2007/05/31(木) 11:30:38 ID:???
いいかげん飽きたよな。ループループ。
310NAME IS NULL:2007/05/31(木) 13:27:31 ID:???
第3回 オープンソースの組み込みDBを使ってみよう:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20070529/272887/
311NAME IS NULL:2007/05/31(木) 15:18:07 ID:detEBJcT
http://japan.cnet.com/news/media/story/0,2000056023,20349880-2,00.htm

>  Google Gear自体は、ブラウザで稼働するローカルウェブサーバ、
> データ保存用オープンソースデータベース「SQLite」、
> 複数のJavaScriptジョブを並列に実行するためのブラウザエクステンション、
> という3つのコンポーネントで構成されている。

あのGoogleもSQLite。

SQLiteが大活躍!
SQLiteは可愛い!
SQLiteキュート!
SQLite主役!
SQLiteって最高!
312NAME IS NULL:2007/05/31(木) 15:29:25 ID:???
ACCESS厨は適材適所という言葉を知らんからな。
313NAME IS NULL:2007/05/31(木) 19:46:14 ID:???
主役よりも名脇役だよな。
314NAME IS NULL:2007/06/01(金) 06:32:20 ID:???
つまり検索にしか使えないってことか。
select専用のデータベースですね。
315NAME IS NULL:2007/06/01(金) 10:03:45 ID:???
> つまり

kwsk
316NAME IS NULL:2007/06/01(金) 11:37:13 ID:PYRR3Wei
sqlite3のデータをsqlite2にインポートすることって可能なんでしょうか?
もしくは、sqlite2の管理ソフトってありますでしょうか?
3の管理ソフトはいくつか見つかったのですが・・・。
よろしくおねがいします。
317NAME IS NULL:2007/06/01(金) 14:06:27 ID:???
1可能。
2ある。
318NAME IS NULL:2007/06/01(金) 14:15:00 ID:???
sqlite3 hoge.db3 .dump | sqlite fuga.db2
エラー出たらファイルにdumpしといて
スキーマ部分いじってから突っ込む。

両バージョン対応のツールは、国産なら
ttp://reddog.s35.xrea.com/wiki/TkSQLite.html
とか。でかいデータいじるにはキツイが。

あとWinなら
ttp://www.ch-werner.de/sqliteodbc/
コレ入れとけばODBC経由で適当なソフトから
両バージョン扱える。
319NAME IS NULL:2007/06/01(金) 15:06:17 ID:PYRR3Wei
>>318
TkSQLiteというソフト使ってみたんですけど、
CSVやSQL文で出力はできるんですけど、sqliteデータベースファイルが作れません・・・。
アタッチとかデタッチというメニューから保存するんでしょうか?
どちらも選択するとエラーが出ちゃいます。
アタッチすると、missing close-bracket
デタッチすると、invalid command name "-detail"
とエラーになっちゃいます。
どなたかご教授お願いいたします。。
320NAME IS NULL:2007/06/01(金) 15:55:17 ID:???
dbを別名で保存、バージョンを変えて保存はできない。

Export (SQL)

New SQLite2DB

Import (SQL)
321NAME IS NULL:2007/06/01(金) 16:30:45 ID:???
「db が壊れてしまいました」という報告をてぐすね引いて待っているアクセス厨乙。
322NAME IS NULL:2007/06/01(金) 18:48:33 ID:???
>>319
1、3のデータベースファイルを開く
2、SQLでエクスポートする
3、3のデータベースファイルを閉じる
4、2のデータベースファイルを新規作成する
5、SQLをインポートする
323NAME IS NULL:2007/06/02(土) 02:07:01 ID:???
全世界10都市でGoogle Developer Day開催--目玉は「Google Gears」の発表 - ZDNet Japan
http://japan.zdnet.com/oss/story/0,3800075264,20349880-2,00.htm
>Googleでは、SQLiteにフルテキスト探索を加えるための作業を既に開始している、とUpson氏は述べる。

全文検索キタ━━━━━━(゚∀゚)━━━━━━ !!!!!
324NAME IS NULL:2007/06/02(土) 09:17:25 ID:Xn9CYp5P
TkSQLiteってすげえな!
やっぱGUIつええ 俺へっぽこすぎ
325NAME IS NULL:2007/06/02(土) 14:13:56 ID:???
SQLiteってフルテキスト検索既についてたような
326NAME IS NULL:2007/06/02(土) 20:23:10 ID:???
SQLite Users にも Google 社員がよく投稿してるしな。
fts に Google 社員が関わってるんでしょ。
327NAME IS NULL:2007/06/02(土) 20:46:20 ID:???
Googleも地に落ちたなw
328NAME IS NULL:2007/06/02(土) 23:08:23 ID:???
>>323
でもSQLiteはパブリックドメインなので、
全文検索がついたSQLiteはクローズドソースなのでした。
329NAME IS NULL:2007/06/03(日) 00:40:17 ID:???
まあ日本語の全文検索は出来ないって罠だろう。
出来たとしても、sjis/jis/euc/utfで4回検索して実用的速度じゃない悪寒。
sqliteを4スレッドで起動してパラレルで検索するので4以上のパイプライン環境限定とかな(w
330NAME IS NULL:2007/06/03(日) 00:41:27 ID:???
>>329
> 出来たとしても、sjis/jis/euc/utfで4回検索して実用的速度じゃない悪寒。

そういう問題じゃねーだろ。w
331NAME IS NULL:2007/06/03(日) 01:07:27 ID:???
>>325
嘘だろ、と思って探したらあった。

Fulltext index on SQLite
http://www.dodgson.org/omo/t/?date=20061001

http://www.sqlite.org/changes.html
2006 October 9 (3.3.8)
* Support for full text search using the FTS1 module (beta)

まあこの手の奴はオリジナルは総じて (日本人にとっては) 使い物にならないので
やっぱり Senna バインディングが...
332NAME IS NULL:2007/06/03(日) 02:16:32 ID:???
形態素解析とかの部分は比較的簡単に差し替えれるのかな。
であれば日本人にも良さげ。

>>329
アフォ過ぎる。ワロタ。
333NAME IS NULL:2007/06/03(日) 14:01:40 ID:???
やっぱり日本語で検索できるアクセスは最強だ。
334NAME IS NULL:2007/06/03(日) 15:46:05 ID:???
Access にフルテキストインデックスってあったんだっけ?
335NAME IS NULL:2007/06/03(日) 15:46:37 ID:???
アホに触っちゃ駄目だって。
カタカナのAccessはNGワードにすればいい。
336NAME IS NULL:2007/06/03(日) 17:31:31 ID:???
インデクス無しで検索できるのがアクセス。
sqliteとは違うのだよ。
337NAME IS NULL:2007/06/03(日) 18:13:19 ID:???
>>336 もいろいろ大変なんだな…
でも生きていればきっといいことあるよ!
338NAME IS NULL:2007/06/03(日) 18:23:28 ID:???
それはどうかな
339NAME IS NULL:2007/06/03(日) 21:23:00 ID:???
Accessでいわゆる「半角カナ」限定の検索をしようとすると地獄を見る
340NAME IS NULL:2007/06/03(日) 23:32:43 ID:???
むしろ半角仮名に弱いのはsqliteだったり。
sjisの機種依存文字を使いまくると問題でまくり。
341NAME IS NULL:2007/06/04(月) 00:01:53 ID:???
なんで SQLite スレで sjis の話が出てくる。一体どんな使い方しとんねん。
あと、半角仮名の話と機種依存文字の話を混同しないように。
342NAME IS NULL:2007/06/04(月) 00:19:22 ID:???
つ 携帯
343NAME IS NULL:2007/06/04(月) 01:56:59 ID:???
普通はバッグエンドはUNICODE系を使って
表示するときにSJISに変換するものだと思っていたが?
344NAME IS NULL:2007/06/04(月) 03:23:33 ID:???
>>339-340
どちらも使い方が悪いだけ。AccessでもSQLiteでも馬鹿が使えばボロボロなのは同じ。
345NAME IS NULL:2007/06/04(月) 06:11:50 ID:???
マカの使い方は異常。
346NAME IS NULL:2007/06/04(月) 08:44:04 ID:/50+iam1
初歩的な質問だったら申し訳ないですが、
SQLiteって、一般的には何と発音しますか?
「えすきゅーらいと」でいいんでしょうか?
347NAME IS NULL:2007/06/04(月) 08:45:37 ID:MNYsmZdC
>>346
しーくらいと!!しーくらいと!!
348NAME IS NULL:2007/06/04(月) 09:47:11 ID:???
前スレ 734 です。参考になれば。

> From: [734] NAME IS NULL <sage>
> Date: 2007/02/21(水) 11:09:08 ID:???
> 「えすきゅーらいと」か「えすきゅーえ (る) らいと」くらいかなあ?
>
> http://video.google.com/videoplay?docid=-5160435487953918649
> http://www.mail-archive.com/[email protected]/msg16344.html
349NAME IS NULL:2007/06/04(月) 12:08:49 ID:???
新めのスレッドあった。
ttp://www.mail-archive.com/[email protected]/msg23687.html

読み方もPublic Domainでいいんじゃね? ってのに同意。

350NAME IS NULL:2007/06/04(月) 18:39:24 ID:???
まじで。俺エスキューエル・イテって読んでた。










351NAME IS NULL:2007/06/04(月) 18:52:56 ID:???
>>340
>sjisの機種依存文字を使いまくると問題でまくり。

これに関してはよくわからないな。どういう環境で使ってるのか知らないし
どのバージョンを使ってるのかも知らないが、たぶんSQLiteのバンディング側の
問題なのでは?
352NAME IS NULL:2007/06/04(月) 22:09:41 ID:???
340にツっこんだら負けだと思ってたんだが
353NAME IS NULL:2007/06/05(火) 01:27:08 ID:???
携帯の機種依存に対応してないsqliteが悪い。
354NAME IS NULL:2007/06/05(火) 01:42:25 ID:???
ダメだ、ここは釣り師が多すぎてつい釣られそうに…
355NAME IS NULL:2007/06/05(火) 01:56:10 ID:???
携帯の機種依存?
機種依存文字はすべて、UTFにコード割り当てされてるじゃん。

>>353は馬鹿?
356NAME IS NULL:2007/06/05(火) 02:03:18 ID:???
よく釣れるな
357NAME IS NULL:2007/06/05(火) 06:28:08 ID:???
その割当が、sjis→utfとutf→sjisじゃ一致しない糞だし。orz
358NAME IS NULL:2007/06/05(火) 08:28:04 ID:b61KR+VG
ところでみんなSQLite何に使ってるの?
359NAME IS NULL:2007/06/05(火) 08:32:40 ID:???
>357
そりゃ、変換にはマップ使わなきゃ無理だろ。つーか、それはSQLiteは関係ない。
360NAME IS NULL:2007/06/05(火) 10:30:43 ID:???
>>358 エロ画像収拾スクリプトのバックエンド
361NAME IS NULL:2007/06/05(火) 12:02:57 ID:???
ADO.NET 2.0 Provider for SQLite の話はここで良いですか?

VS2005から INSERT すると どうも遅いので、調べたら

ttp://journal.mycom.co.jp/special/2004/php5/007.html
SQLiteでは明示的にトランザクションを開始しない限り、INSERT処理の前後に必ず"BEGIN"、"COMMIT"が実行される。

とのことでした。
ADO.NET 2.0 Provider for SQLite 使ってこれを回避したいんだけど、どんな感じにコーディングしたらいいんでしょうか??

今はTableAdapterでInsertしてました。
362NAME IS NULL:2007/06/05(火) 14:56:20 ID:???
>>361
.NETは知らんけど、明示的にトランザクション開始したらいいじゃないか。
363NAME IS NULL:2007/06/05(火) 15:11:17 ID:???
2003なら分かるが、2005は分からんな。
364NAME IS NULL:2007/06/05(火) 16:12:45 ID:???
>>361
ソース落としてきて test/TestCase.csの
FastInsertManyのとこ見てみれ。
どうしてもDataTable使いたいなら
その上のDataAdapter のとこ見れ。

test.exeの実行結果
...
Inserting using CommandBuilder and DataAdapter
-> (10,000 rows) ...
-> Insert Ends in 219 ms ... Commits in 156 ms
...
Fast insert using parameters and prepared statement
-> (100,000 rows) Begins ...
-> Ends in 1063 ms ... Commits in 437 ms

上がDataAdapterで下がFastInsertManyね。
365NAME IS NULL:2007/06/05(火) 22:48:32 ID:???
>>358
Webサーバとかメールサーバとかのログの解析
366NAME IS NULL:2007/06/06(水) 00:28:13 ID:???
未だにレガシASPからMDB叩いてるという化石のようなシステム保守してる身からは
来る64bit化の荒波への最後の砦かも
367NAME IS NULL:2007/06/06(水) 11:08:16 ID:???
>366
mdbって複数アクセスでこわれないように作れるもんなの?
368NAME IS NULL:2007/06/06(水) 11:10:58 ID:???
まだMSDE使った方がマシだな。
369NAME IS NULL:2007/06/06(水) 12:15:48 ID:???
Adobe Apollo開発者のblog
ttp://www.mikechambers.com/blog/2007/05/30/apollo-beta-will-include-sqlite-embedded-database/

google gearとも連携して開発して行く見たいだね。
370NAME IS NULL:2007/06/12(火) 22:02:02 ID:???
板違いだったらごめん。
いろいろ調べたんだけど、どうしても分からないので、諸先輩方
助けてプリーズ。

SQLite3をlinuxでソースからビルドしたんですが、libsqlite3.soのサイズが
1.3MB程の大きなサイズになってしまうんですよ。
SQLiteのHPトップには「less than 250KiB fully configured」と書いてあるし、
HPからダウンロードしたlinux-x86のバイナリは、397KB程度なのに。。。
自分でビルドする場合、この程度の大きさにするにはどうしたら良いか
教えてくれませんか?

ttp://www.sqlite.org/cvstrac/wiki?p=SizeOfSqlite
のページも参考に、-Oxをいろいろ変えたり、同様の-Dオプションも追加したり
しましたが、大して変わらずの結果でほとほと困っています。

下に私の環境と手順を書きますので、よろしくお願いします。

【環境】
redhat 9(カーネル 2.4.20-8)
gcc バージョン 3.2.2 20030222 (Red Hat Linux 3.2.2-5)

【SQLite3のバージョン】
sqlite-3.3.17.tar.gz
sqlite-source-3_3_17.zip

【SQLite3ビルド手順】
$> ./configure --disable-tcl --enable-releasemode
$> make clean
$> make all

「ls -l ./.libs/」の結果
26 libsqlite3-3.3.17.so.0 -> libsqlite3-3.3.17.so.0.8.6
1288443 libsqlite3-3.3.17.so.0.8.6
2023180 libsqlite3.a
16 libsqlite3.la -> ../libsqlite3.la
834 libsqlite3.lai
26 libsqlite3.so -> libsqlite3-3.3.17.so.0.8.6
371NAME IS NULL:2007/06/12(火) 22:10:25 ID:???
strip してもだめなん?
372NAME IS NULL:2007/06/12(火) 22:42:33 ID:???
370です。

>>371さん
ありがとう!できました。
リンクオプションに-Wl,--strip-allを加えたら小さくなりました。

26 libsqlite3-3.3.17.so.0 -> libsqlite3-3.3.17.so.0.8.6
334676 libsqlite3-3.3.17.so.0.8.6
2023180 libsqlite3.a
16 libsqlite3.la -> ../libsqlite3.la
834 libsqlite3.lai
26 libsqlite3.so -> libsqlite3-3.3.17.so.0.8.6

ほんとうにありがとう!!
373名無し ◆qbNb6Ma0MY :2007/06/14(木) 15:59:45 ID:???
374NAME IS NULL:2007/06/14(木) 18:28:49 ID:1Fp9liIj
SQLite3を利用しています。
PRIMARY KEYにAUTOINCREMENTを指定していて、テーブル内の
全てのデータを削除した時にAUTOINCREMENTの値を1からカウントに
初期化したいのですが、どうすれば良いのでしょうか?
375NAME IS NULL:2007/06/14(木) 20:59:40 ID:???
>>374
アクセスに乗り換える
376NAME IS NULL:2007/06/14(木) 21:02:14 ID:???
>>374
テーブル作り直せばあ・・・
377374:2007/06/14(木) 22:41:42 ID:???
レスありがとう。テーブル作り直します。orz
378NAME IS NULL:2007/06/15(金) 06:28:31 ID:???
>>374
UPDATE sqlite_sequence SET seq=1 WHERE name='mytabe'
379374:2007/06/15(金) 08:25:47 ID:???
レスありがとう。テーブル作り直さずに済みました。^^
380NAME IS NULL:2007/06/15(金) 19:30:07 ID:???
rowidってupdate出来るのなw
381NAME IS NULL:2007/06/16(土) 00:17:35 ID:???
やっぱり初心者にはアクセスが向いてるよな。
382NAME IS NULL:2007/06/16(土) 09:35:47 ID:???
そうだね。
けど作ってるときに思うんだよ、アクセス止めときゃ良かったって。
383NAME IS NULL:2007/06/16(土) 15:57:02 ID:???
SQLite3で、PRIMARY KEYにAUTOINCREMENTを指定した場合
索引が作られていないようですが、これって仕様ですか?
もちろん、このPRIMARY KEYで検索したらフルスキャンですよね?
384NAME IS NULL:2007/06/16(土) 21:30:45 ID:???
でもsqliteの糞ぶりに比べればマシだが。
385NAME IS NULL:2007/06/16(土) 21:38:24 ID:???
>>383
お前は本気で言ってるのか?

INTEGER PRIMARY KEY AUTOINCREMENT に指定したカラムは
ROWID のエイリアスになるんだが。

ROWID による検索はインデックススキャンと同じ。
386NAME IS NULL:2007/06/17(日) 12:10:49 ID:???
3.4.0!
387NAME IS NULL:2007/06/17(日) 14:02:22 ID:???
相変わらず2.x時代のdbファイルを読ませると破壊してくれるな。orz
388NAME IS NULL:2007/06/17(日) 14:06:04 ID:???
君の環境だけだなw
389NAME IS NULL:2007/06/17(日) 15:24:39 ID:???
破壊してくれるって言う奴いるけど
3.xで実行して読み込めないだけじゃなくて
2.xで実行したとき読み込めなくなっているのかと。
390NAME IS NULL:2007/06/17(日) 15:43:55 ID:???
よく知らねーけど「破壊」って言ってるんだから後者なんじゃネーノ?
391NAME IS NULL:2007/06/17(日) 15:48:57 ID:???
387の脳内以外ではそんなこと起きないけどね
392NAME IS NULL:2007/06/17(日) 17:09:10 ID:???
漏れ SQLite3 しか関わったこと無いんだけど、
SQLite2 も利用する機会ってどういうケースがあるの?
393NAME IS NULL:2007/06/17(日) 17:55:55 ID:???
おまえらなんで真面目に相手してるの?バカ?
394NAME IS NULL:2007/06/17(日) 18:23:18 ID:???
dbファイルと言ってるからバークレイDB2.xのファイルなんだろ
395NAME IS NULL:2007/06/17(日) 19:09:07 ID:???
>>392
SQLite2のファイルは破壊されると信じてる人がSQLite2のファイルを扱うとき、じゃないかなw
396NAME IS NULL:2007/06/17(日) 19:30:28 ID:???
いつまでたっても第三者が再現できる情報を出さない時点で説得力なんて皆無だしな
397NAME IS NULL:2007/06/17(日) 22:19:02 ID:???
昔作ったsqlite2のファイルがあるんだよ。
最近使い始めた香具師は、sqlite3からしかデータ持ってないから幸せ回路全開だろうけど。
398NAME IS NULL:2007/06/17(日) 22:20:15 ID:???
昔(脳内で)作ったsqlite2のファイルが(脳内に)あるんだよ。
俺の脳も回路全開なんだよ。
399NAME IS NULL:2007/06/17(日) 22:21:12 ID:???
脳が壊れたら、そりゃ脳内のDBも壊れる罠
400NAME IS NULL:2007/06/18(月) 01:44:26 ID:???
読ませるも糞も、3から2のファイルは元々読めない訳だが
401NAME IS NULL:2007/06/18(月) 03:27:16 ID:4buWPSB1
>>386
Documentation updates in preparation for 3.4.0. By drh.
402NAME IS NULL:2007/06/18(月) 16:19:35 ID:???
もうバージョンアップしないで枯れてほしい・・・。
ファイルの細かい互換性の違いが短期間に起きるのやめてほしい・・・。
403NAME IS NULL:2007/06/18(月) 17:40:26 ID:???
おまえの蛆虫並みの脳には短期間だろうが、常人には普通
404NAME IS NULL:2007/06/18(月) 17:44:42 ID:TAbOUre7
開発速度が速いと思う。
ファイルの細かい互換性に問題がある場合もあると思う。
むしろ、今回のバージョンアップは間があきすぎ。
今やってる部分って面白い機能が多い。
wktkして待ってるのに・・・
405NAME IS NULL:2007/06/19(火) 02:45:06 ID:???
まあすぐに3.4.1出るから見てろよ。本当にリリース管理は適当なんだから。
406NAME IS NULL:2007/06/19(火) 02:45:53 ID:???
Accessで直接ファイルを開けたら便利なのに。
DB鯖からのデータの出し入れしたりとかラクラク操作で使いたいんだけど。
407NAME IS NULL:2007/06/19(火) 06:18:27 ID:???
開けるだろ
408NAME IS NULL:2007/06/19(火) 09:14:34 ID:???
馬鹿にはODBCすら使えないんだろう。
409NAME IS NULL:2007/06/19(火) 12:45:13 ID:???
使えネ
410NAME IS NULL:2007/06/19(火) 18:47:07 ID:???
使い分けろやw
411NAME IS NULL:2007/06/19(火) 19:33:55 ID:1cI0FWog
3.4がまだ出てないのに、3.4.1の話。
412NAME IS NULL:2007/06/19(火) 19:37:27 ID:???
413NAME IS NULL:2007/06/19(火) 19:48:55 ID:1cI0FWog
>>412
なに?
414NAME IS NULL:2007/06/19(火) 19:50:55 ID:???
2007-Jun-18 - Version 3.4.0
415NAME IS NULL:2007/06/19(火) 20:12:48 ID:1cI0FWog
ほんとだ!
416NAME IS NULL:2007/06/20(水) 00:12:56 ID:???
>>415
お前は当分 ROM ってろ。
417NAME IS NULL:2007/06/20(水) 00:36:16 ID:???
マカウザい。
418NAME IS NULL:2007/06/21(木) 13:04:17 ID:???
2007-Jun-18 - Version 3.4.0
久しぶりのアップデートだな。ちょっと様子見。
419NAME IS NULL:2007/06/21(木) 19:57:02 ID:???
お前ら全員カスだな
420NAME IS NULL:2007/06/22(金) 06:18:43 ID:???
やっぱりウィンドウズ使ってる方がまともだな。
421NAME IS NULL:2007/06/22(金) 18:04:30 ID:4yx4LY9x
確かに、「SQLite 破壊」で検索すると結構な量の事例が出てくる。
422NAME IS NULL:2007/06/22(金) 18:11:18 ID:???
>>421
ずいぶん変わった検索サイトを使ってるようだな
423NAME IS NULL:2007/06/22(金) 23:11:52 ID:???
「アクセス 破壊」
424NAME IS NULL:2007/06/23(土) 01:09:19 ID:???
そーいえば、Updateしたらガンガン破壊したって事例があったな >> あくせす
425NAME IS NULL:2007/06/23(土) 01:12:21 ID:???
「oracle 破壊」
426NAME IS NULL:2007/06/23(土) 08:53:30 ID:???
アクセスなら2007でも95のファイルが読めるけどな。
427NAME IS NULL:2007/06/23(土) 10:42:52 ID:???
AccessとJetDBはゴミだけどな。
428NAME IS NULL:2007/06/23(土) 12:20:41 ID:???
oracle 破壊 に一致する日本語のページ 約 119,000 件
access 破壊 に一致する日本語のページ 約 415,000 件
sqlite 破壊 に一致する日本語のページ 約 21,400 件
mysql 破壊 に一致する日本語のページ 約 145,000 件
PostgreSQL 破壊 に一致する日本語のページ 約 71,900 件

accessが圧勝
429NAME IS NULL:2007/06/23(土) 18:33:34 ID:zO59Z1T1
>>428
中身を見れば意味が分かる。
破壊された事例と、破壊されると思ったが破壊されなかったという喜びの事例。
大きな違いがある。
残念ながらSQLiteは破壊された事例が・・・
430NAME IS NULL:2007/06/23(土) 18:43:11 ID:???
見つかる事例って、ほとんどがこのスレの「SQLite 2のDBが壊れた」君だね
431NAME IS NULL:2007/06/23(土) 18:45:16 ID:???
風説の流布ですか
432NAME IS NULL:2007/06/23(土) 19:21:15 ID:zO59Z1T1
どういう条件で破壊されるのか既知なんだから調べればいいのに。
風説とか何とか書いてるのが限界になってるかもね。
433NAME IS NULL:2007/06/23(土) 19:35:47 ID:???
どういう条件で破壊されるのか既知なら風説の流布とか言われないのに
434NAME IS NULL:2007/06/23(土) 19:48:29 ID:???
そもそも脳が壊れてるんだからDBが壊れているかどうか判断つかないだろ
435NAME IS NULL:2007/06/23(土) 23:09:25 ID:???
>>428
マジレスするのもなんだが、
accessだとMS Access以外も拾うぞ。
436NAME IS NULL:2007/06/24(日) 00:02:22 ID:???
壊れてないのに・・・。ただ3で2のファイルを開けないだけ・・・。
437NAME IS NULL:2007/06/24(日) 00:03:15 ID:???
ていうか全般的に日本人のレベル低すぎね・・・。
ここには詳しい人も数人いるみたいだけど。
438NAME IS NULL:2007/06/24(日) 07:18:57 ID:???
開けるけど、そのまま書いたらファイルが壊れる。
sqlite2のことは全く無視する悪い子です。
439NAME IS NULL:2007/06/24(日) 09:02:31 ID:ppVYIGey
3.4.0はかなり変更があったので対策が必要。
440NAME IS NULL:2007/06/24(日) 10:56:54 ID:???
>>438
再現手順教えてよ。

そもそも開けなくね?

% sqlite2 -version
2.8.17
% sqlite2 foo.db 'CREATE TABLE foo ( foo TEXT );'
% sqlite3 -version
3.3.17
% sqlite3 foo.db 'CREATE TABLE bar ( bar TEXT );'
SQL error: file is encrypted or is not a database
%
441NAME IS NULL:2007/06/24(日) 11:15:47 ID:???
「Access 修復」の検索結果見たら
泣けてきたw
442NAME IS NULL:2007/06/24(日) 11:21:22 ID:1tDw2dkS
>>428
googoleで
「PostgreSQL 破壊」が71,000件
「Postgre 破壊」が315件

?????
443NAME IS NULL:2007/06/24(日) 11:53:51 ID:???
>>437
キチガイを基準に日本人を語られても…
そもそも日本人かどうかも怪しいしw
444NAME IS NULL:2007/06/24(日) 11:55:01 ID:???
おっと、気違い本人にレスしちまった。汚れちゃったよ。
445NAME IS NULL:2007/06/24(日) 12:53:29 ID:???
だから元々3から2のDBは読めないっつーの。
壊れてるのは馬鹿の脳内だけ。
446NAME IS NULL:2007/06/24(日) 14:10:31 ID:???
そしてsqlite2のDBファイルが壊れていてorz
447NAME IS NULL:2007/06/24(日) 14:19:26 ID:???
脳が壊れるのとDBが壊れるのは等価なんだお
448NAME IS NULL:2007/06/24(日) 15:55:10 ID:???
449NAME IS NULL:2007/06/24(日) 16:45:20 ID:???
何その怪しすぎるページ。
450NAME IS NULL:2007/06/26(火) 14:22:09 ID:???
Safari の設定にも SQLite3 が。
451NAME IS NULL:2007/06/27(水) 19:15:50 ID:???
SQLiteの使い方について詳しく教えてくれるHPってどっかにありませんか?
あったら教えて下さい。
452NAME IS NULL:2007/06/27(水) 20:33:02 ID:???
453NAME IS NULL:2007/06/30(土) 11:20:05 ID:???
マカはウザイ。
454NAME IS NULL:2007/07/03(火) 05:41:31 ID:???
iPhone にも SQLite 3.1.3 が使われてるらしいな。
455NAME IS NULL:2007/07/03(火) 12:58:38 ID:dbjO94XR
class Genre(SQLObject):
name = StringCol(length=200)
artists = RelatedJoin('Artist')

class Artist(SQLObject):
name = StringCol(length=200)
genres = RelatedJoin('Genre')
albums = MultipleJoin('Album')

class Album(SQLObject):
name = StringCol(length=200)
artist = ForeignKey('Artist')

これに相当するSQLもしくはmysqlってどんなのですか?
MultipleJoinとか魔法みたいに便利なんだけど
456NAME IS NULL:2007/07/03(火) 14:33:48 ID:???
>>これに相当するSQLもしくはmysql
とりあえずこの部分にもんのすごい違和感を感じた事を報告します。
457NAME IS NULL:2007/07/03(火) 15:36:00 ID:???
ORM 脳の恐怖を垣間見た気がした。
458NAME IS NULL:2007/07/03(火) 15:56:28 ID:???
ぱいぱいそん
459NAME IS NULL:2007/07/03(火) 16:45:18 ID:???
>>458
ばいきんまんみたいでいいな
460NAME IS NULL:2007/07/03(火) 16:52:46 ID:???
おまいら、正直に白状しろ。「質問の意味がさっぱり理解できない」とな。
461NAME IS NULL:2007/07/03(火) 18:15:44 ID:???
質問の意味はわかるけど、答えがさっぱりわかりません!
462NAME IS NULL:2007/07/03(火) 21:51:28 ID:???
>>461
>これに相当するSQLもしくはmysqlってどんなのですか?
の説明お願い
463NAME IS NULL:2007/07/03(火) 22:29:19 ID:???
>>460
別に隠すつもりはないが、さっぱりわからない
464NAME IS NULL:2007/07/04(水) 00:36:16 ID:???
マカって頭悪いね。
日本で売ってない時点で負け。
465NAME IS NULL:2007/07/04(水) 02:03:14 ID:???
>>464
あんた欲しいのかw
466NAME IS NULL:2007/07/04(水) 09:12:07 ID:???
467NAME IS NULL:2007/07/07(土) 10:29:36 ID:???
マカって馬鹿だな(w
468NAME IS NULL:2007/07/09(月) 12:49:38 ID:???
V2にeuc-jpでデータ格納してるのをutf-8にポロっと3秒くらいで変換して
くれるようなツールはないかな
コード書くのもマンドクサなんだが
469NAME IS NULL:2007/07/09(月) 13:12:44 ID:???
dumpしてnkf通して読み直せばいいんでないの?
470NAME IS NULL:2007/07/09(月) 17:39:57 ID:???
Windowsでsqlite3.dll使ってるけど
DBファイルのパスに日本語が入ってるとDBをオープンできないのは仕様?
471NAME IS NULL:2007/07/09(月) 18:34:47 ID:???
しようがない。
472NAME IS NULL:2007/07/09(月) 22:25:20 ID:???
元防衛大臣乙
473NAME IS NULL:2007/07/09(月) 23:51:13 ID:???
Windowsなら、dllを食べずにソースからBuildすればいいじゃない?
474NAME IS NULL:2007/07/10(火) 01:29:26 ID:???
開発してる英語圏の香具師が、日本語のフォルダの環境をテストできる訳ないと想像できない所がマカらしいな。
475NAME IS NULL:2007/07/10(火) 01:29:36 ID:???
ソースからBuildするとどう解決するの?
476NAME IS NULL:2007/07/10(火) 02:44:54 ID:???
tksqliteだと日本語パスでも開けるぜ・・・。dllの使い方間違えてるだけじゃないのか・・・。
477NAME IS NULL:2007/07/10(火) 03:09:07 ID:???
パッチは自分で当てンだよ。このハゲ。
478NAME IS NULL:2007/07/10(火) 03:12:39 ID:???
>>470
使う関数による。

sqlite3_open16() なら普通に日本語が使えるが
sqlite3_open() に Windows の MBCS を入れると化ける。

sqlite3_open() を使うなら UTF-8 に変換してから入れろ。
479NAME IS NULL:2007/07/10(火) 10:20:06 ID:???
>>478
UTF-8 に変換してsqlite3_open()でいけました。
つかドキュメントのsqlite3_open()の項に書いてあったのに後で気づいたorz
たすかりました
480NAME IS NULL:2007/07/11(水) 01:57:08 ID:???
Windows 版の sqlite3_open() は3.3あたりで実装がこっそり変えられててな、、、

それ以前は、渡した文字列をそのまま CreateFileA に渡してたから、
ドキュメント通りに UTF-8 文字列を渡すと日本語ファイル名が化けた。

実装変更後は、渡した文字列は UTF-8 -> UTF-16 変換した後で
CreateFileW に渡すようになったので、それ以前とは逆に
ドキュメント通りにUTF-8 で渡さないと化けるw
481NAME IS NULL:2007/07/11(水) 03:53:58 ID:???
sqlite3_open16()使えばいいじゃん。他の文字列の問題もあるからUnicodeビルドが良いよ。
今のVCはUnicodeビルドがデフォだし。
482NAME IS NULL:2007/07/11(水) 12:54:19 ID:???
そんなこというとまた 2.0 厨がくるぞーw
483NAME IS NULL:2007/07/12(木) 02:03:22 ID:???
sqlite廚に自己コンパイルが出来る香具師は皆無。
ほとんどがマカとかrpm廚だしな。
コンパイル済みの配布をひたすら待つだけしか出来ない。
484NAME IS NULL:2007/07/12(木) 07:12:58 ID:???
普通、自分でコンパイルするんじゃないの?
485NAME IS NULL:2007/07/12(木) 09:25:33 ID:???
俺は自分でコンパイルしているが、普通ではないと思っている。

まあ BSD/OS なんて使ってるのがそもそも普通ではないのだが。
486NAME IS NULL:2007/07/12(木) 12:38:40 ID:???
普通がいいなら普通のものを使えば良いのでは?
487NAME IS NULL:2007/07/12(木) 12:44:59 ID:???
普通がいいとは一言も言ってないんだけど・・・
488NAME IS NULL:2007/07/12(木) 14:08:19 ID:???
異常な奴ほど「普通」に憧れるものだ
489NAME IS NULL:2007/07/12(木) 15:33:11 ID:???
普通のやつほど、普通じゃないっていう方がしっくりくるな。
490NAME IS NULL:2007/07/12(木) 16:53:50 ID:???
永遠に2.0を使い続けるおれさまが来ましたよ
491NAME IS NULL:2007/07/12(木) 22:22:50 ID:???
もう帰っていいぞ
492NAME IS NULL:2007/07/13(金) 15:51:00 ID:???
いいDBなのに数名クズがいるなw
493NAME IS NULL:2007/07/13(金) 16:11:12 ID:???
件数の多いリストを表示用にSELECTする場合には、
LIMITで件数制限をかけると思いますが、
そうすると、LIMITをかけない場合の件数が分かりません。
(件数はページリンクで使う)

MySQLだとSQL_CALC_FOUND_ROWS→FOUND_ROWS()
を使うことによって、LIMITを使っても全件数を取得できます。

SQLiteでは、SELECT count(*)を使って、
同じ結合条件&WHERE句で、
2回クエリーを発行するしか方法はないでしょうか?
494NAME IS NULL:2007/07/13(金) 20:32:00 ID:???
>>493
selectの結果に○/○とかしたいの?
おいらはsqliteは組込用途でいじりはじめたばっかだから便利なマクロみたいのあるのか知らんけど、もしおいらが何とかsql一発でやらなくちゃなら、各テーブルの合計件数とテーブル名を持ったビューなりを作っておいて、ジョインして使うかなぁ
495NAME IS NULL:2007/07/14(土) 13:22:50 ID:???
普通はアクセス使ってるしな。
つまりsqlite使ってるおまいらは異常。

全件数のカウントってメモリ喰うからな。組み込みDBとしては厳しいだろう。
どうしてもsqliteでやりたいなら、ソース弄ってパッチ書いてくれ。
496NAME IS NULL:2007/07/14(土) 13:32:40 ID:???
pragma page_sizeを大きくすると検索速くなる?
497NAME IS NULL:2007/07/14(土) 17:07:16 ID:???
>>493

select hoge1,hoge2,count(1) as rec_count from foo where hoge1='hogehoge' ;

LIMIT入れようと入れまいと、count 取ってりゃページング処理は書けるでしょう。
498NAME IS NULL:2007/07/14(土) 17:53:13 ID:Afh1sfem
DBはいいのにスレにゴミが混じってるな
499NAME IS NULL:2007/07/14(土) 19:41:35 ID:???
ゴミは簡単に見分けられるから実害は少ないね
500NAME IS NULL:2007/07/15(日) 00:30:08 ID:???
マカ=ゴミ。
501NAME IS NULL:2007/07/15(日) 08:55:24 ID:???
>>497
ウソ書いてましたごめんなさい><
やっぱり >>494 と同じようなことするしかないかも。
502NAME IS NULL:2007/07/15(日) 20:20:10 ID:???
SQLiteって複数のプロセスで同じDBアクセスしても平気なの?
歯痛成魚する?
503NAME IS NULL:2007/07/15(日) 23:48:21 ID:???
平気だよ。
504NAME IS NULL:2007/07/16(月) 05:21:05 ID:???
>>502
PRAGMA synchronous; を読んでみて。

505NAME IS NULL:2007/07/16(月) 14:38:26 ID:???
506NAME IS NULL:2007/07/16(月) 18:08:52 ID:???
そのページを見る限り、PRAGMA synchronousは、ディスクとの同期のオプションであって
排他制御のオプションではないようだが。
507NAME IS NULL:2007/07/17(火) 00:47:31 ID:???
>>469
遅レスだけどありがとう
nkfを通せばよさげだね
508493:2007/07/17(火) 15:57:17 ID:???
>>494,501
ありがとうございます。
特に専用の方法がないようなら
素直に select count(*) します。

他の人も良く使うだろう使い方だと思ったので
専用の方法が用意されているならそれを使おうと思っただけです。
MySQLは専用の方法があるのに気付いたの1年ぐらいたってからだったw
509NAME IS NULL:2007/07/17(火) 18:45:08 ID:???
select *, (select count(*) from hoge) from hoge limit ...
510NAME IS NULL:2007/07/17(火) 22:10:23 ID:???
>>506
SQLite は Serializable しかサポートしていない。
唯一の例外が Shared Cache Mode で、この場合だけ
Read Uncommited を選択することができる。
511493:2007/07/18(水) 09:23:17 ID:???
>>509
ありがとうございます。
無理に1クエリーにしたいわけではないのです。
512NAME IS NULL:2007/07/18(水) 10:40:46 ID:7KqvJ1g9
Windows で ODBC ドライバ経由で SQLite 3 のデータベースに
接続してみた。Access 2007 からはテーブル一覧が取得できて
リンクテーブルとしてアクセスできるんだけど、
Visual Studio 2005 のサーバエクスプローラからは
接続できるもののテーブル一覧が取得できず使いにくい。

Access 2007 からはリンクテーブルとしてアクセスできているし、
Visual Studio 2005 からもテーブル一覧は取得できないものの
SQL 文は正しく実行できるので SQLite3 用の ODBC ドライバが
動いていないとは思えないんだけど、なんでテーブルの一覧を
取得できないんだろう。
513NAME IS NULL:2007/07/18(水) 20:23:16 ID:???
ん、odbcドライバはまだベータ版だったと書いてあった気がしたのだが
514NAME IS NULL:2007/07/18(水) 21:47:11 ID:7KqvJ1g9
http://www.ch-werner.de/sqliteodbc/
特にベータってことはないみたいだけどなぁ。
まぁ、期待しつつ様子見。
515NAME IS NULL:2007/07/18(水) 22:29:48 ID:???


 そ れ く ら い 自 分 で 実 装 し ろ


516NAME IS NULL:2007/07/19(木) 07:22:12 ID:injH7iwR
>>1のオフィシャルサイトが繋がりませんが?
517NAME IS NULL:2007/07/19(木) 07:42:05 ID:???
俺は繋がったが?
518516:2007/07/19(木) 08:14:50 ID:???
スマソ
IEの設定のせいみたい
他のブラウザやpingなら繋がる
519NAME IS NULL:2007/07/20(金) 22:29:17 ID:???
やっぱりアクセスって最強だよな。
520NAME IS NULL:2007/07/21(土) 01:00:59 ID:???
>>519
あぁ最高だよね
重たいし、使い勝手が悪いけど、なんといってもWindowsしか使えないし
521NAME IS NULL:2007/07/21(土) 01:44:07 ID:???
名前がアクセスのくせに同時アクセスに糞弱いしな。
522NAME IS NULL:2007/07/21(土) 01:47:42 ID:???
そもそも比較対象とする理由が全くわからないし
523NAME IS NULL:2007/07/21(土) 03:35:25 ID:???
逆にウィンドウズだと十分。マカには無理だが。
524NAME IS NULL:2007/07/21(土) 08:06:14 ID:???
マカにはアクセスと同等以上のソフト 4th Dimension がある。
アクセスと違ってそのままクラサバにもできる。
525NAME IS NULL:2007/07/21(土) 17:38:40 ID:8EbashlF
出来ると言うことと実用になるということは異なる。
526NAME IS NULL:2007/07/21(土) 18:58:16 ID:hcsb6jDM
sqliteファイルサイズでかくなりすぎない?
INDEXも貼ってないんだけど

これ、データ管理に何バイトくらい使ってんの?
527NAME IS NULL:2007/07/21(土) 19:04:15 ID:???
>>526
なんで具体的な例も出さないで同意を求めようとするの?
528NAME IS NULL:2007/07/21(土) 20:17:14 ID:hcsb6jDM
同意って言うかデータ管理に何バイトくってんのかが知りたいんだけど
529NAME IS NULL:2007/07/21(土) 21:14:15 ID:???
>>527
アホは放置しようぜ
530NAME IS NULL:2007/07/21(土) 21:18:29 ID:hcsb6jDM
>>529
釣れないこと言わないで管理バイトおしえれよ
知ってるんだろ?
531NAME IS NULL:2007/07/21(土) 23:29:20 ID:???
マジレスすると、ソース嫁
532NAME IS NULL:2007/07/22(日) 00:07:12 ID:???
3.4.1
533NAME IS NULL:2007/07/22(日) 00:28:32 ID:y/9NnjYh
>>530
どうせ知らないんだよ、ここにいる奴らなんてそんなレベル。
まあ、おれも知らないが
534NAME IS NULL:2007/07/22(日) 00:48:43 ID:???
管理バイト(笑)
535NAME IS NULL:2007/07/22(日) 01:14:27 ID:+wK1MY93
とりあえず、複数プロセスからの同時アクセスの歯痛成魚は
行っていないということですね。ありがとうございました。
自前で歯痛するようにいたします。
536NAME IS NULL:2007/07/22(日) 01:17:25 ID:???
レス読んでたら歯が痛くなってきちゃったじゃないか
537NAME IS NULL:2007/07/22(日) 01:43:17 ID:???
漠然と歯痛と言われましてもねぇ。
538NAME IS NULL:2007/07/22(日) 02:28:07 ID:???
なんだ、SQLiteって複数プロセスから同時アクセスすると、ファイル壊れるのか。
Access並だな。
539NAME IS NULL:2007/07/22(日) 02:34:35 ID:???
壊れる壊れないは人によるみたいですよ
540NAME IS NULL:2007/07/22(日) 11:22:30 ID:???
くだらない。
541NAME IS NULL:2007/07/22(日) 12:23:46 ID:???
はいはい皆さん
「脳が壊れる事とDBが壊れる事は等価」
これは試験に出ますよ
542NAME IS NULL:2007/07/22(日) 12:34:26 ID:???
>>537は漠然と〜と言われてもとか言いたいだけ
何も理解していないwwwww
543NAME IS NULL:2007/07/22(日) 12:39:00 ID:???
英語のドキュメントって読めない人が多いんだな。小卒ワカイソス。
544NAME IS NULL:2007/07/22(日) 13:08:17 ID:???
>>543
あんた小学校も出てないのか
545NAME IS NULL:2007/07/22(日) 14:15:12 ID:???
>>543
日本語のドキュメントなら読むと思っているおまえは青二才
546NAME IS NULL:2007/07/22(日) 14:24:08 ID:???
DBのファイルが15G超えました。
547NAME IS NULL:2007/07/22(日) 14:37:54 ID:y/9NnjYh
>>546
そんな何のデータを入れてんだ
548NAME IS NULL:2007/07/22(日) 14:57:43 ID:???
サーバのアクセスパターンを解析するために、
アクセスログ+処理結果を適当にパースしてつっこんでる。
約3ヶ月分。

INDEXが付いてるところは、遅くなってきてはいるけど、まあ問題ない。
INDEXが付いてないところは、遅すぎて普段の処理では使えない。
ただ、ゴミ掃除とかの、データを整理するときしか使わないので、
あんまり気にしてない。帰るときに流して放置するから。
549NAME IS NULL:2007/07/22(日) 15:04:55 ID:???
エロ動画だろ
550NAME IS NULL:2007/07/22(日) 21:37:01 ID:+wK1MY93
INSERTしたとき、いつファイルに反映されますか?
551NAME IS NULL:2007/07/22(日) 21:42:22 ID:???
クローズした時
552NAME IS NULL:2007/07/22(日) 22:04:33 ID:???
明示的に BEGIN TRANSACTION した場合は COMMIT したとき。
そうでなければ INSERT 完了時。
553NAME IS NULL:2007/07/23(月) 01:25:38 ID:???
>>551>>552
どちらが正しいんだろう・・・うーん
554NAME IS NULL:2007/07/23(月) 01:29:14 ID:???
試してみりゃすぐ分かるじゃん・・・
555NAME IS NULL:2007/07/23(月) 02:01:24 ID:???
>>546
おめでとう
556NAME IS NULL:2007/07/23(月) 12:01:21 ID:???
SELECTするときトランザクション開始しないと遅い
なんてレビューを読んだんですがこれほんとですか?
自分でやったら10万件程度なら問題なかったですが
SQLiteってSELECTの結果セットを持ちますよね?
557NAME IS NULL:2007/07/23(月) 12:10:25 ID:???
うそです。おまえが正しい。
558NAME IS NULL:2007/07/23(月) 15:57:34 ID:???
結果セットって、メモリに持つんですか?
SELECTの結果が10万件とかのときって、10万件分メモリが必要?
559NAME IS NULL:2007/07/23(月) 16:48:06 ID:tFlavIkf
Windows の .NET 環境から使おうと思ったんだけど、
ODBC ドライバ経由と ADO.NET プロバイダ経由の
どちらがいいと思います?
560NAME IS NULL:2007/07/23(月) 19:49:50 ID:???
>>559
つ [System.Data.SQLite]
ttp://sqlite.phxsoftware.com/
561NAME IS NULL:2007/07/23(月) 23:20:32 ID:???
俺も、System.Data.SQLiteがいいと思う。
562NAME IS NULL:2007/07/23(月) 23:30:22 ID:???
>>558
世の中にはスワップファイルという物があってな
563NAME IS NULL:2007/07/23(月) 23:52:37 ID:???
まあいやらしい
564NAME IS NULL:2007/07/24(火) 01:22:30 ID:???
>>562
なるほど

スワップは切ってる としたらどうなるんだろう。 死んじゃうのかな・・・
565NAME IS NULL:2007/07/25(水) 02:43:46 ID:???
>>556
INSERT するときはトランザクション開始しないと糞遅いのは有名だけど
SELECT するときはデマだろ。
566NAME IS NULL:2007/07/26(木) 01:01:39 ID:???
デフォルト動作ではSELECTの実行中はDB全体をロックしっぱなしなんだから
トランザクションも糞もないだろ、常考
567NAME IS NULL:2007/07/26(木) 10:42:38 ID:XuMdc/ZM
MS Access や phpMyAdmin のような
GUI で操作できるツールはないでしょうか?
568NAME IS NULL:2007/07/26(木) 14:03:29 ID:???
スレ内検索もせず質問ageとかもうね、(ry

とかいいつつ、これは未出かしら
ttp://www.sqliteexpert.com/

あとgooglecodeで見っけた
ttp://code.google.com/p/phpsqliteadm/

569NAME IS NULL:2007/07/26(木) 18:26:38 ID:???
>>568
だって、だってなんだもん。THX
570NAME IS NULL:2007/07/26(木) 21:26:57 ID:???
>>566
ソースどこ?
571NAME IS NULL:2007/07/26(木) 21:29:34 ID:???
オープンソースですよ
572NAME IS NULL:2007/07/27(金) 01:02:14 ID:???
>>570
sqlite3.exe を同じDBに対して2つ同時に立ち上げて、
片方で SELECT を実行してる最中にもう片方で更新かけてみろ
573NAME IS NULL:2007/07/27(金) 02:22:45 ID:???
>572
そんな事したら、ファイルが壊れちゃうよ。
574NAME IS NULL:2007/07/27(金) 08:03:41 ID:???
糞ACCESSと違って、普通のDBはその程度では壊れない。
575NAME IS NULL:2007/07/27(金) 09:18:35 ID:???
複数プロセスからのアクセスで歯痛成魚していないらしいからな。
576NAME IS NULL:2007/07/27(金) 11:14:19 ID:???
>>573
壊れないように全体をロックしているんだろ・・・
まあ基本的にBetter DBMなんだから、基本は
クライアントアプリの組み込み用途がメインだと
思う。PHPが採用してから何か方向性を勘違い
されるようになった。
577NAME IS NULL:2007/07/27(金) 12:35:02 ID:???
>>575
先日から必死で嘘の風評流してるな。そういう仕事の人?
578NAME IS NULL:2007/07/27(金) 13:39:32 ID:???
> 基本はクライアントアプリの組み込み用途がメインだと思う。

ということにしたいのですね?
579NAME IS NULL:2007/07/27(金) 13:41:05 ID:???
>>577
本当に風評なら今ごろ真っ当な反論が出ている筈とは思わんかね?
580NAME IS NULL:2007/07/27(金) 14:15:29 ID:???
>>579
あまりにアホらしい(英語読めればすぐ判る)から反論する気にもならないだけでは?
581NAME IS NULL:2007/07/27(金) 17:09:47 ID:???
>>578
いや本当だって。設計見ても、生い立ちみてもそうだろ。
そう思いたくない理由でもあるのか。あるなら聞こう。
582NAME IS NULL:2007/07/27(金) 17:13:06 ID:???
SQLiteをWebサービスで使うのは普通だけど
アクセスをWebサービスで使う奴なんていないよね^^;
583NAME IS NULL:2007/07/27(金) 17:15:05 ID:???
>>581
設計と生い立ちについて詳しく。
584NAME IS NULL:2007/07/27(金) 17:17:40 ID:???
>>581
むしろおまえの生い立ちと脳の設計について聞きたい
585NAME IS NULL:2007/07/27(金) 17:23:00 ID:???
意地でもクライアントアプリの組み込み以外の用途で使わせたくない香具師がいるな。

drh か?
586NAME IS NULL:2007/07/27(金) 17:24:20 ID:???
いつものキチガイ粘着でしょ
587NAME IS NULL:2007/07/27(金) 17:25:53 ID:???
このスレはいつでもけんか腰だな。うんざりするわ。
だから流行らないんだよ。
588NAME IS NULL:2007/07/27(金) 17:28:26 ID:???
SQLite無茶苦茶流行ってるよなぁ。
本来は最適でないのではと思える用途にまで使われるほどにw
589NAME IS NULL:2007/07/27(金) 17:31:49 ID:???
これでけんか腰って。
2ちゃんねる初心者かよ!?
590NAME IS NULL:2007/07/27(金) 17:38:47 ID:???
だからいつものキチガイ粘着でしょ
591NAME IS NULL:2007/07/27(金) 18:44:53 ID:???
>>587
いや、別にこのスレ読まなくても使えるから無問題でしょw
592NAME IS NULL:2007/07/27(金) 21:58:34 ID:???
>582
SQLiteをWebサービスで使ってるとこって、同時アクセス数が1を越えそうにないとこ
だけだろ。
593NAME IS NULL:2007/07/27(金) 22:07:37 ID:???
ファイル形式がバージョンによってどんどん
変わって行くのだけは勘弁な
594NAME IS NULL:2007/07/27(金) 22:24:12 ID:???
ファイル形式が変わるだけならともかく、「これはDBファイルじゃない」とか
エラーメッセージが出るから、ファイルが壊れたかと思ってあせる。

「バージョンが違う」ぐらい出せるだろうに。不親切にもほどがある。
595NAME IS NULL:2007/07/27(金) 22:39:31 ID:7YCGbYh8
コマンドラインからは.tablesでテーブル一覧を表示できますが、
sqlを使ってテーブル一覧を取得するにはどうすればいいですか?
596NAME IS NULL:2007/07/27(金) 22:53:40 ID:mNF9qJRa
select name from sqlite_master where type='table';
597NAME IS NULL:2007/07/27(金) 22:54:33 ID:???
>>595
sqlite_masterというテーブルがあるからそれをとりあえず
全レコードみてみましょう
何が書かれているかわかります
598NAME IS NULL:2007/07/27(金) 22:55:49 ID:???
599NAME IS NULL:2007/07/27(金) 22:56:37 ID:???
>>592-594
必死だなw
600NAME IS NULL:2007/07/27(金) 23:15:46 ID:mNF9qJRa
phpからさsqliteにvacuumかけた直後に
DBファイルのファイルサイズとってきても変らないんだけど、なんで?

x=filesize($DBFILE);
queryExec("VACUUM;");
y=filesize($DBFILE);

でxとyが一緒になる。
結果画面表示後、ファイルサイズみると減ってるんだけど・・・
601NAME IS NULL:2007/07/27(金) 23:31:23 ID:???
>>600
明示的に DB を close してみればサイズ減ってるんじゃない?
と適当なことを言ってみる。
602NAME IS NULL:2007/07/27(金) 23:33:18 ID:mNF9qJRa
>>601
x=filesize($DBFILE);
$db->queryExec("VACUUM;");
unset($db);
sleep(1);
y=filesize($DBFILE);

オブジェクト指向タイプで記述してるけど
こうやってもだめだったんだよ
603NAME IS NULL:2007/07/28(土) 00:23:20 ID:5B6IuqJm
事故解決した。
int filesize ( string $filename )

ファイルのサイズを返し、エラーの場合は FALSE を返します (また E_WARNING レベルのエラーを発生させます) 。

注意: PHP の数値型は符号付整数であり、 多くのプラットフォームでは 32 ビットの整数を取るため、
filesize() は 2GB より大きなファイルについては期待とは違う値を返すことがあります。
2GB から 4GB のサイズのファイルについては sprintf("%u", filesize($file)) を使うことで打開されます。

注意: この関数の結果はキャッシュされます。詳細は、clearstatcache() を参照してください。
               ~~~~~~~~~~~~~~~~~~~

clearstatcache()ねじ込んだらできた

604NAME IS NULL:2007/07/28(土) 20:50:36 ID:???
sqliteは複数同時アクセスには対応できないの?
605NAME IS NULL:2007/07/28(土) 21:47:27 ID:???
>>604
お前以外には対応してる
606NAME IS NULL:2007/07/28(土) 22:58:44 ID:???
>>605
ごめん、意味わかんないからお前は答えなくていいや

select でreadlock掛かるってことは
select中に他からのselectはできるってことだろ?
そして、select中に他からのinsert/update/deleteは不可。

トランザクション開始中の他からのselectは?
トランザクション開始中に他からトランザクション開始できるの?

そもそも、行ロック、テーブルロックはないのか??


607NAME IS NULL:2007/07/29(日) 00:11:25 ID:???
そもそもSQL-92にSELECT〜FOR UPDATEがない
608NAME IS NULL:2007/07/29(日) 00:15:57 ID:???
>604
SQLiteを呼び出す時は、事前にflock()が必須。
609NAME IS NULL:2007/07/29(日) 00:19:31 ID:???
>>607
begin-commit/rollbackは?

てかさ、そもそもsqliteは読み取り一貫性の保証ないの?
610名無しさん@そうだ選挙に行こう:2007/07/29(日) 00:49:31 ID:???
>>609
スレッド利用するなり、複数のプロセスで実験するなりでたしかめたらいーだろ。
確認に3分もかからん。
611名無しさん@そうだ選挙に行こう:2007/07/29(日) 01:35:41 ID:???
>>610
よくそういうこと言う奴いるけど、分かんないのかな?
自分で確認できるならとっくにやってるだろ、出来ないから聞いてるんだよ

知らないならスルーして、知ってる人は教えて下さい。
612名無しさん@そうだ選挙に行こう:2007/07/29(日) 01:49:56 ID:???
>611
自分で確認できないという理由についてkwsk
ぱっと考えつくような理由だと、「=SQLite自体使うことができない」ということになりそうなもんだが……
(例) 検証用プログラムを実行できる環境がない→実働するプログラムを動かす環境もないってことだな?
613名無しさん@そうだ選挙に行こう:2007/07/29(日) 02:01:56 ID:???
>>606
全部できる。君の思ってる理想のように動く。間違いないよ。
614名無しさん@そうだ選挙に行こう:2007/07/29(日) 02:02:45 ID:???
>>611
ヒント:人にものを聞く態度
615名無しさん@そうだ選挙に行こう:2007/07/29(日) 07:10:10 ID:???
>>609
なかったら人はそれをDBMSと呼ばない
616名無しさん@そうだ選挙に行こう:2007/07/29(日) 07:18:40 ID:???
>>615
sqliteをDBMSと呼ぶかはアレだな
617名無しさん@そうだ選挙に行こう:2007/07/29(日) 10:44:45 ID:???
>>614
その手の言葉を吐く類はまともに答えられないことが多いので
使ったら負けかと思ってる
618名無しさん@そうだ選挙に行こう:2007/07/29(日) 11:18:36 ID:???
>>612
ヒント1:環境がない
ヒント2:スキルがない
ヒント3:やる気がない
619名無しさん@そうだ選挙に行こう:2007/07/29(日) 11:23:33 ID:uXQW/G64
今までmysqlしか使ったことがないのですが
sqliteは複数のインデックスを同時に使用しますか?
mysqlは一度に一度のインデックスしか使えないので、
複合インデックス等の工夫が面倒くさかったのですが
sqliteはそういうことはしなくていいのでしょうか?
620NAME IS NULL:2007/07/29(日) 13:38:48 ID:???
mysqlは一度に一度のインデックスしか使えないってどういうこと?
621名無しさん@そうだ選挙に行こう:2007/07/29(日) 14:06:16 ID:???
>>617
日本語で書こうよ
622名無しさん@そうだ選挙に行こう:2007/07/29(日) 14:49:05 ID:???
>>621
国語やり直そうよ
623名無しさん@そうだ選挙に行こう:2007/07/29(日) 15:13:47 ID:???
selectの結果セットは、結局メモリ上においてあるの?
ということは、SELECT * のときは全部メモリ上に確保されるの?
スワップの無い組込み環境だと全SEELCTはできない?

それとも、結果セットなんてない?
それだとSELECT中にINSERTとか出来ないような仕様でないと困るよね?

ここんとこ解説してるサイトってある?
624名無しさん@そうだ選挙に行こう:2007/07/29(日) 15:25:15 ID:uXQW/G64
>>620
一回のクエリにつき、一つのインデックスしか使われないということです
そのため、explainでインデックス使用状況を調べ、
インデックスなしのクエリが発行されないよう、
いろいろ気を配る必要があります
625名無しさん@そうだ選挙に行こう:2007/07/29(日) 15:31:29 ID:???
>>623
たぶん「結果セット」の意味を誤解している。
結果セットはあるがメモリ上に確保されるわけではない。
626名無しさん@そうだ選挙に行こう:2007/07/29(日) 18:30:21 ID:???
627名無しさん@そうだ選挙に行こう:2007/07/29(日) 18:56:12 ID:???
>>626
ありがとうございました
sqliteもそうだったのですかorz
628名無しさん@そうだ選挙に行こう:2007/07/29(日) 19:29:51 ID:???
>>625
なるほど。ありがとうございました。

たとえば、SELECT *とかしてる途中で
他の誰かがUPDATEで全部書き換えてしまったとき
メモリが超少ない環境ではどうなるのか気になったのですが
629NAME IS NULL:2007/07/29(日) 23:50:37 ID:???0
メモリが少ない状況で、他の誰かに使わせちゃ駄目だろ。
つまりアクセス並みに1ユーザで使うしかないよ。
あくまで組み込みDBなんだから期待しちゃ駄目。
630NAME IS NULL:2007/07/30(月) 00:59:23 ID:???
>>629
そうですか
2プロセスからのアクセスで片方がUPDATEやINSERT
もう片方がSELECTという使い方を想定してたんだけど

というかこういう使い方が出てきたから自作DBから
SQLiteへの乗換えを検討してたんだけど・・・
631NAME IS NULL:2007/07/30(月) 01:37:45 ID:???
というか、「メモリが蝶少ない環境」を想定しないといけない状況でDB?
確かにSQLiteは「組み込みDB」の類だが、「組み込み開発」に使えるほど「軽い」ライブラリじゃないと思う……
携帯の制御プログラムがSQL発行するとこなんて想像もつかん。

# まぁ組み込みゆーても、Windows embeddedみたいな環境なら
# SQL Server for embedded systemが使えるってくらいで問題ないとは思うが
632NAME IS NULL:2007/07/30(月) 03:51:54 ID:???
>>631
屁理屈はいい。質問への回答を頼む。
633NAME IS NULL:2007/07/30(月) 03:57:42 ID:???
>>631
そうですね
RAMは数メガあるので超少ないは言い過ぎでした

でも別途CFやらSDやらにDBを持ってるので
数万レコード程度は普通にあるんです
まあ当分は自作DBで頑張ってみます
634NAME IS NULL:2007/07/30(月) 09:53:35 ID:???
2プロセスで書き込みは片方だけって状況なら全然問題無くね?

てゆか「携帯の制御プログラム」ってどこから出てきた話かわからんけど、
ACCESS (Microsoft じゃない方の) も ALP で採用してるようだし、
「組み込み開発」にも十分向いてると思うんだがなあ。
635NAME IS NULL:2007/07/30(月) 09:56:42 ID:???
>>634
携帯開発とかやったこと無い奴がしゃべんなよ。ってことで流そうよ。
636634:2007/07/30(月) 10:07:24 ID:???
>>635
ごもっとも。スマソ。もう黙っときます。

ちなみに、「2プロセスで書き込みは片方だけ」のつもりが、
検索する側でテンポラリテーブルを作ってしまっていてハマったことがある。
637NAME IS NULL:2007/07/30(月) 18:38:36 ID:???
このスレには質問にケチしかつけるしか能がないチョンがいるようですね
638NAME IS NULL:2007/07/30(月) 21:30:29 ID:???
>>637
おまえも質問を書けばケチつけてやるぞw
639NAME IS NULL:2007/07/30(月) 22:46:36 ID:???
このスレには質問に答えてもらえず煽りレスで鬱憤晴らす >>637 もいるようですね
640NAME IS NULL:2007/07/30(月) 23:07:08 ID:???
ストレス解消に役立ってるなら結構なことだ
641NAME IS NULL:2007/07/30(月) 23:39:44 ID:???
>>639
あまり強い言葉を使うなよ
弱く見えるぞ
642NAME IS NULL:2007/07/30(月) 23:40:18 ID:???
>>640
そこに気づくとは…こいつ、かなりの切れ者…!
643NAME IS NULL:2007/07/31(火) 00:02:03 ID:???
やっぱりマカって馬鹿だよな。
644NAME IS NULL:2007/07/31(火) 00:22:06 ID:???
なん…だと…!?
645NAME IS NULL:2007/07/31(火) 02:39:40 ID:???
sqlite2つこうてるけど
テーブルのリネームすら出来ないってありえねーな
646NAME IS NULL:2007/07/31(火) 08:06:10 ID:???
まだ2使ってるって馬鹿?
647NAME IS NULL:2007/07/31(火) 09:42:12 ID:???
>>645
ちゃんと設計しとけよw
648NAME IS NULL:2007/07/31(火) 10:33:37 ID:???
3だとできるんだっけ?
649NAME IS NULL:2007/07/31(火) 18:20:54 ID:???
>>646
なん・・・・だと・・・・!?
650NAME IS NULL:2007/07/31(火) 20:52:53 ID:/ZQXLUmN
>>646
PHPだと3にはPDOでしかアクセスできない
&PDOがバギーらしいんで2にしたんだよ
651NAME IS NULL:2007/08/01(水) 00:23:43 ID:???
PHP使ってる時点で(ry
652NAME IS NULL:2007/08/01(水) 01:00:45 ID:???
なん・・・・だと・・・・!?
653NAME IS NULL:2007/08/01(水) 01:58:11 ID:???
Safari使ってる時点で(ry
654NAME IS NULL:2007/08/01(水) 02:23:16 ID:???
なん・・・・だと・・・・!?
655NAME IS NULL:2007/08/01(水) 07:41:34 ID:WEk3363h
>>650
そこに気づくとは大した奴だ…
656NAME IS NULL:2007/08/01(水) 16:49:59 ID:???
なん・・・・ばら・・・・!?
657NAME IS NULL:2007/08/01(水) 17:28:48 ID:???
まさか…これ程とは…
658NAME IS NULL:2007/08/02(木) 01:12:55 ID:???
>>630
マルチプロセスで両方SQLite3を使っている場合、
片方がSELECTしている最中は、もう片方から
書き込みをCOMMITすることはできないよ。

複数のプロセスから共通のDBを使いたい場合に
同時実行性を上げたいなら、共有キャッシュモードで
DBアクセス専用プロセスを作って、他のプロセスは
DBアクセス用プロセスとプロセス間通信を行って
DBアクセスをするといい。
659NAME IS NULL:2007/08/02(木) 01:27:57 ID:???
>>658
COMMITする意味を考えれば、COMMIT後に前の結果が返るのは困る場合が多いのではないか?
660NAME IS NULL:2007/08/02(木) 01:34:13 ID:???
>>659
SQLiteはSerializableかRead Uncommitedのどちらかしか
サポートしてない。

通常はSerializableで、COMMIT実行にはは排他ロックが必要
(=他のプロセスがSELECT中はCOMMITできない)

共有キャッシュモードではRead Uncommitedが選択でき、
その場合はCOMMITとSELECTを同時に実行できる。

というか分からないならRead Uncommitedについて調べろ。
661NAME IS NULL:2007/08/02(木) 01:58:28 ID:???
>>658
> 複数のプロセスから共通のDBを使いたい場合に
> 同時実行性を上げたいなら、共有キャッシュモードで
> DBアクセス専用プロセスを作って、他のプロセスは
> DBアクセス用プロセスとプロセス間通信を行って
> DBアクセスをするといい。

そんな手間をかけるくらいならもう他の DBMS 使った方がよくね?
662NAME IS NULL:2007/08/02(木) 02:14:02 ID:???
「他のDBMS」っつーのも結局やってることは>>658と同じわけで。

組み込み用途なら、複数プロセスから同一のDBファイルを
アクセスするようなユースケースはあんまないだろ。
663NAME IS NULL:2007/08/02(木) 04:23:03 ID:???
>>662
ユース・・ケース?

いや、まさにそういうケースにぶち当たったんだけどね。
まあなんとかするさ
664NAME IS NULL:2007/08/02(木) 07:03:00 ID:???
つまり同時アクセスは駄目なDBって使えないじゃん。
Safariみたいに同時使用はあり得ない用途でしか使えないってことだな。
PHPからアクセスさせるなら1ユーザのみに限定とか(w
665NAME IS NULL:2007/08/02(木) 11:01:48 ID:???
そもそも、組み込みDBってそういうもんだし。
同時アクセスは駄目じゃないけど、パフォーマンスが劣悪になる。
仲介プロセスが必要になるなら、さすがに
MySQLなりポスグレ使うなりしたほうがいいと思う。
666NAME IS NULL:2007/08/02(木) 14:28:51 ID:???
SQLiteとPostgresじゃ規模とかインスコの手間とか違いすぎるだろ。
その中間に、FirebirdとかdBASE、FoxProとかが有るんじゃないの? 使った事無いけど。
667NAME IS NULL:2007/08/02(木) 18:12:20 ID:kmFMFn/s
ExcelVBAからSQLite使う方法ありますか?
668NAME IS NULL:2007/08/02(木) 22:00:53 ID:???
>>664-665
どうしても同時アクセス駄目(または劣悪)にしたい奴らが必死だなw
669661:2007/08/03(金) 01:12:57 ID:???
>>662
同じだから、車輪の再発明をするだけ無駄ってこと。
670NAME IS NULL:2007/08/03(金) 01:36:04 ID:???
>667
ODBCドライバがあるからそれで使える。
はず。
671NAME IS NULL:2007/08/03(金) 20:04:40 ID:???
つーか組込用でクラサバでもないのは初めてから分かってる事なのにアホな事言う奴が多くて失笑ものだな…
コンパクトでソースコードも付いててローカルDBとして気軽にアプリに組込んだり便利だな…

使用目的を勘違いしているアホチンは余所に行って欲しいよw
672NAME IS NULL:2007/08/03(金) 21:33:07 ID:???
>>671
組込み用とだとばかり思っていたよ。ごめんね。

公式でも組込み用と明確に書いてあったから
ついうっかり信じ込んでしまったみたいだ。
これからは気をつけるよ。
673NAME IS NULL:2007/08/03(金) 21:42:31 ID:???
公式で書いてある組込み用ってのはアプリケーション組み込み用ってことであって
組込みデバイス向けってことじゃないってかそんなことはみんな知ってるよな…
674NAME IS NULL:2007/08/03(金) 21:44:19 ID:???
へへへ、俺は知ってるよ。他の人のことはわからん。
675NAME IS NULL:2007/08/03(金) 22:46:30 ID:???
何でもいいが今時並列処理できないDBなんていらないといってみるテスト。
時代はマルチコアでっせー。
676NAME IS NULL:2007/08/04(土) 00:11:28 ID:???
だから、できるってば
677NAME IS NULL:2007/08/04(土) 00:12:20 ID:???
クエリーのマルチスレッド実行とか高い同時実行性が欲しいなら
他のDBMS使えでFAなんだが。

DRHは別にそういうの目指してるわけじゃないし。
678NAME IS NULL:2007/08/04(土) 00:15:11 ID:???
まぁ、本来「アプリ組み込み用」だった SQLite が、なぜか
「PHP ランタイムに組み込まれて」しまったせいで、
他のリッチな DBMS と比べてあーだこーだ言われるのは
DRH としては痛し痒しなんだろうなw
679NAME IS NULL:2007/08/04(土) 00:38:46 ID:???
本来はクライアントの中で小さく使われるためのものなんだろうにね。
680NAME IS NULL:2007/08/04(土) 08:48:53 ID:ln3oA6ly
>>673
本当にそんなこと書いてあった?
681NAME IS NULL:2007/08/04(土) 09:06:06 ID:qS1j1fWl
>>680
書いてあるないがそんなに重要なのか?
自分で考えて使えないの?
682NAME IS NULL:2007/08/04(土) 09:09:53 ID:???
>>681
いや、公式がどうのこうのって言うわりには何も読んでないなって。
683NAME IS NULL:2007/08/04(土) 09:27:55 ID:qS1j1fWl
>>682
みみっちぃなw
そんなどーでもいいこと放っておけよw
684NAME IS NULL:2007/08/04(土) 10:47:20 ID:???
公式には、組み込み用とはPHPへの組み込みを意味するって書いてある。
685NAME IS NULL:2007/08/04(土) 16:52:29 ID:???
FAQによれば、複数プロセスで同時にアクセスするのは
UNIX上ではやめとけ と書いてあるな。

Linux上ならいいのかしらん?
686NAME IS NULL:2007/08/04(土) 16:54:45 ID:???
>>677
でもこんだけ小さいDBMSって他にはそうそう無いべ
687NAME IS NULL:2007/08/04(土) 20:04:42 ID:???
ManagementSystemじゃなくてEngineだべ
688NAME IS NULL:2007/08/04(土) 21:02:29 ID:???
あー そうだったべ
689NAME IS NULL:2007/08/04(土) 23:15:48 ID:???
どこだったかC言語による読みやすいコード…と説明されていたが、禿げしく読みづらいと感じるのはおいらがC++なプログラマーだからなのか、もしくはヘタレだからなのだろうかw

車輪人生脱却するために今の内に頑張っておくか…
690NAME IS NULL:2007/08/05(日) 01:24:12 ID:???
読みやすいかどうかは比較対象の問題では?
691NAME IS NULL:2007/08/05(日) 07:22:29 ID:???
良く使うアプリのコードと読み比べてみるってのは?
この世で最も多く使われるプログラムというとlsあたりかな
692NAME IS NULL:2007/08/05(日) 10:54:04 ID:???
経験値の浅い漏れは、ハンガリアン記法は SQLite で初めて見た。
693NAME IS NULL:2007/08/05(日) 13:33:29 ID:???
DLLなしでWin32ネイティブで完全に組み込みたいんだけどどうやるの?
694NAME IS NULL:2007/08/05(日) 13:48:38 ID:???
何の利点があるの?
695NAME IS NULL:2007/08/05(日) 14:36:32 ID:???
表面上SQLiteを使っていないように見えるw
696NAME IS NULL:2007/08/05(日) 14:45:15 ID:???
スタティックリンクしたいって話か?
697NAME IS NULL:2007/08/05(日) 15:10:02 ID:???
ファイル名変えとけば、分かりゃしないよ。
698NAME IS NULL:2007/08/05(日) 15:10:55 ID:???
sqliteってマルチコア非対応だしな。マルチコア環境で同時更新できなのでは、割と致命的。

表面上、自前でDB用意しましたよってことにしたいとか?
699NAME IS NULL:2007/08/05(日) 15:30:07 ID:???
>>693
ソースをプロジェクトに突っ込むだけで静的にリンクできるはず
700NAME IS NULL:2007/08/05(日) 15:41:10 ID:???
>>698
よくわからんw

sqliteはライブラリだぞ。
アプリがマルチコア対応なら同時更新できるだろw
701NAME IS NULL:2007/08/05(日) 15:42:07 ID:sjhv7VHk
SQLite.DLLをVB(A)から使うにはどうしたらいい?
そのままで使える?

702NAME IS NULL:2007/08/05(日) 15:56:53 ID:DwKotpp3
普通に使えるだろ
703NAME IS NULL:2007/08/05(日) 16:39:42 ID:???
>>700
アプリで対応しなきゃ駄目ってことでしょ?

ただ、マルチコア非対応とは書いてない
非効率とはあるけど
704NAME IS NULL:2007/08/05(日) 17:27:58 ID:???
めちゃくちゃ更新が多いとかでなきゃそれほど非効率ってわけでもない
705NAME IS NULL:2007/08/05(日) 18:35:26 ID:???
>>702
宣言がstdcallになってないから
旧VBからだと使えない気がするんだが、どうだろう。
VB.netなら問題ないと思うが。
706NAME IS NULL:2007/08/05(日) 19:26:07 ID:sjhv7VHk
>>705
戻りの型とかはバリアントで通用するのかな?

てか、sqliteはphpからしか使ったことなかったけど
php関数まんまの関数無さそうだね、あれでかなり使いやすくラップしてたんだ・・・
707NAME IS NULL:2007/08/05(日) 19:56:48 ID:???
VB.netだと、intならDeclare Function 〜 as Int32、void ならDeclare Subでいけるハズ。
ポインタ関係はIntPtrで適当に扱うしか。
708NAME IS NULL:2007/08/05(日) 20:00:21 ID:sjhv7VHk
VBAでは?分からん??
709NAME IS NULL:2007/08/05(日) 20:14:11 ID:???
VBAだと旧VBって事になるから、intはLong。
voidは同様にSubで扱えばいい。
ただ、問題は上に書いた通り、関数の呼び出し規約。
旧VBはstdcallしか扱えんので、DLL側がcdeclだとスタックが破壊される。

http://www.sqlite.org/cvstrac/wiki?p=SqliteWrappers

各言語のWrapperがあるみたいなんで、じっくり探してみたらどうだろう。
710NAME IS NULL:2007/08/05(日) 20:22:31 ID:sjhv7VHk
>>709
d読んでみる

仮に呼べたとしても
そのままではphpの関数のようには使えないでFA?
711NAME IS NULL:2007/08/05(日) 21:43:35 ID:???
リンクの仕方なんてここで聞くことかよ・・・。
majiでレベル低過ぎだろ・・・。夏厨にもほどがあるぞ・・・
712NAME IS NULL:2007/08/05(日) 23:33:53 ID:???
データベースなんてただの道具ですよ
sqliteはただのおもちゃですよ
713NAME IS NULL:2007/08/06(月) 00:02:17 ID:???
>>711
そうだな。VBのスレ(よく知らんけど)でやれって感じ。
714NAME IS NULL:2007/08/06(月) 00:04:26 ID:???
リンクの話は>>693だろVBの話とは別じゃね

SQLiteって業務での実績ってあるの?
715NAME IS NULL:2007/08/06(月) 00:06:06 ID:???
ACCESSがどーのこーののやり取りほどは不毛じゃないと思うが。
716NAME IS NULL:2007/08/06(月) 00:08:17 ID:???
アップルは業務でSpotlightを作ったんじゃないのか?
717AC厨:2007/08/06(月) 00:08:50 ID:???
呼んだ?
718NAME IS NULL:2007/08/06(月) 00:49:42 ID:???
>717
あよねでも聞いて鬱ってろ、この公共広告機構野郎
719NAME IS NULL:2007/08/06(月) 02:34:48 ID:???
720NAME IS NULL:2007/08/06(月) 20:18:47 ID:oraWsScS
sqliteコンパイルしようと思ったら
c:\sqlite\source\icu.c(34) : fatal error C1083: インクルード ファイルがオープンできません。'unicode/utypes.h': No such file or directory
こんなん出たんだけど、3.4.1は何か必要なの?
721NAME IS NULL:2007/08/06(月) 20:41:03 ID:???
ICU ttp://source.icu-project.org/ のヘッダファイルへの
パスが通ってないんじゃなかろか。
722NAME IS NULL:2007/08/06(月) 20:51:30 ID:???
少なくとも間接的には業務で使われてる事にはなるだろうな
MS謹製のアプリでもIE等、結構組み込まれて使われてるし

googleもだったか
ただオリジナルのコードはあまり残って無い程いじられてそうだがw
723NAME IS NULL:2007/08/06(月) 20:58:12 ID:oraWsScS
>>721
ていうか、落として北sqlite-source-3_4_1にはそんなヘッダファイル入ってないんだよ・・・
724NAME IS NULL:2007/08/06(月) 21:56:10 ID:???
>>722
過去ログにもあるけど FTS の部分なんかは Google の中のひとが contribute しとるよ。
725NAME IS NULL:2007/08/06(月) 22:42:05 ID:oraWsScS
icu.cに
/* Include ICU headers */

#include <unicode/utypes.h>

#include <unicode/uregex.h>

#include <unicode/ustring.h>

#include <unicode/ucol.h>
の記述があるんだけど、ICU落としても<unicode/utypes.h>しか入ってないのは何でだよ
726NAME IS NULL:2007/08/06(月) 22:47:32 ID:???
727NAME IS NULL:2007/08/06(月) 23:01:04 ID:oraWsScS
>>726
d
3.8より3.6のがいいの?
728NAME IS NULL:2007/08/06(月) 23:01:14 ID:???
ext/icuは別にコンパイルしなくてもいいだろ・・・、Makefileくらい嫁よ・・・
まじでれべr低すぎだろ・・・
729NAME IS NULL:2007/08/06(月) 23:05:32 ID:oraWsScS
全ての人が自分と同じレベルにいると思うな

で、必要ないの?
730NAME IS NULL:2007/08/07(火) 00:21:29 ID:???
これってさ、最初からクソでかいファイル用意して
サイズ膨らまさずにその中でよろしくやってくれって
出来るのか?
731NAME IS NULL:2007/08/09(木) 18:27:06 ID:1iu5Z0TY
icu外したら
こんどは別のエラーでた
コンパイルできねーよ
732NAME IS NULL:2007/08/09(木) 20:01:30 ID:1iu5Z0TY
1>main.obj : error LNK2001: 外部シンボル "__imp__SysAllocStringByteLen@8" は未解決です。ってなんだお
733NAME IS NULL:2007/08/09(木) 20:17:54 ID:1iu5Z0TY
734NAME IS NULL:2007/08/09(木) 21:30:56 ID:???
ヘッダーファイル取り込む
735NAME IS NULL:2007/08/09(木) 21:38:32 ID:???
Express使うような貧乏人にはコンパイルされたくないのかもねぇw
736NAME IS NULL:2007/08/09(木) 21:43:35 ID:1iu5Z0TY
vc6proでも出来なかったんだ、煽る暇あるなら調べて来い
737NAME IS NULL:2007/08/09(木) 22:07:22 ID:???
おまえのvc6割れてるだろ。俺にはわかるぞ。でなきゃ
初めて使うかのようなアホな質問しないからな
738NAME IS NULL:2007/08/09(木) 22:22:12 ID:1iu5Z0TY
ヒント:会社
739NAME IS NULL:2007/08/09(木) 22:27:51 ID:???
結局ICUってなんだったの?
740NAME IS NULL:2007/08/10(金) 10:11:05 ID:???
集中治療室だっけ?
741NAME IS NULL:2007/08/10(金) 10:22:49 ID:???
ICUはunicode関係のライブラリだよ。
742NAME IS NULL:2007/08/10(金) 11:21:30 ID:???
VBから入ろうって奴が、いきなりVCで自力DLLコンパイルは敷居が高いと思うぞ。
前の呼び出し規約の話もそうだが、リンクとかDEF書いてエクスポートとか
色々覚えないとだめなことが多い。
743NAME IS NULL:2007/08/10(金) 12:45:04 ID:4uO7Injt
>>742
どこが敷居が高いんだよw
744NAME IS NULL:2007/08/10(金) 12:46:48 ID:???
>>720 には物凄く高いことはわかった。
745NAME IS NULL:2007/08/10(金) 14:19:08 ID:???
環境がおかしいんじゃね?w
ただダウソしてダイナミックもスタチックも何も気にせずビルド出来たけど
君にはまだ早いのかもしれんね
むつかしい事は大人になってからすれば?w
746NAME IS NULL:2007/08/10(金) 14:39:01 ID:???
そのままビルドしてもVBじゃ使えないけどな。
あと、VCExpressならDLLビルド出来るように設定ファイル弄ってやらんとあかん。
ttp://watcher.moe-nifty.com/memo/2006/05/visual_studio_c_4427.html
747NAME IS NULL:2007/08/10(金) 18:27:47 ID:WTiVmQh3
>>742-746
昨夜無事コンパイル完了してます。
VB用の拡張機能の動作もOK

原因はlibがリンクされてなかったこと
あれ、パス通しただけじゃ駄目なんだね

まあ、一度コンパイル通ればこっちのもんだ
色々機能拡張も出来る
748NAME IS NULL:2007/08/10(金) 19:26:20 ID:???
http://www5a.biglobe.ne.jp/~t-koma/web/dorama/sazae.html
http://cgi.www5a.biglobe.ne.jp/~t-koma/cgi/web_dorama/sazaesan.cgi
↑webドラマサザエさん
会員制なので入ると特典が盛りだくさん
@webドラマが書ける
A掲示板が書ける
Bポイントがたまる
Cプレゼントがもらえる
D誕生日には祝ってくれる
他にも楽しい特典が盛りだくさん
料金は無料なのでぜひご入会ください
749NAME IS NULL:2007/08/11(土) 10:44:49 ID:???
またマカか。馬鹿だな。
業務ユーザがあの薄っぺらなキーボード使うと本気で思ってるのか?

750NAME IS NULL:2007/08/11(土) 18:26:03 ID:???
>>749
君のような薄っぺらな人間よりはマシでは?
751NAME IS NULL:2007/08/11(土) 18:37:35 ID:???
ここは SQLite を使う事に関して語るスレであって
Visual Studio の使い方をお勉強するスレではない。

SQLite なんて、わざわざ VC 用のソースまで配布されてるのに
それがコンパイルできないっていうようなレベルの人間は
このスレに書く前に「できる Visual Studio」でも読んでろ。

世の中にゃ、UNIX 用のソースしかなければ自力で Windows に
移植して使う人間だってゴマンといるんだよ。
752NAME IS NULL:2007/08/11(土) 18:50:50 ID:???
うんそうだね
753NAME IS NULL:2007/08/11(土) 19:55:08 ID:???
終わった話をいつまでしてんだかw
乗り遅れてくやしかったか?
754NAME IS NULL:2007/08/12(日) 19:03:45 ID:???
複数のプロセスからSELECTとINSERTをやったときの
ロックっぷりを解説してるサイトありますか?
ttp://www.buena-idea.net/~hironobu/mysql/m-2-10.html
こんな感じで図解してるとわかりやすいんですけど
755NAME IS NULL:2007/08/13(月) 02:40:01 ID:???
Windowsのソースや、Unixのソースは公開されてても、マクに移植すら出来ないのがマカ。
sqliteのパッチ当てすら無理だし(w
756NAME IS NULL:2007/08/13(月) 02:53:28 ID:???
またおまえか
757NAME IS NULL:2007/08/13(月) 23:54:26 ID:???
758NAME IS NULL:2007/08/14(火) 15:34:08 ID:VUBT5dwm
リモートとローカルの SQLite のデータベースを
簡単に同期させる方法ってないかなぁ。
自力でがんばりたくない他力本願野郎です。
かといってレプリケーション機能が完備されている
他のクラサバ型のデータベースを使うのも重いなぁと。
759NAME IS NULL:2007/08/14(火) 16:52:53 ID:???
>758
朝晩、「南無阿弥陀仏」と唱えると良いでしょう。
760NAME IS NULL:2007/08/14(火) 16:59:15 ID:VUBT5dwm
>>759
毎朝は無理だけど、数日前に唱えました。
お坊さんも家に呼んで、一緒に。
761NAME IS NULL:2007/08/14(火) 17:00:24 ID:???
ちなみに、今まで本願が成就したことはありません。
人生30年程度生きてきて一度も。
阿弥陀仏におすがりするしかありません。
762NAME IS NULL:2007/08/14(火) 17:07:35 ID:???
>>757
日本語でおk
763NAME IS NULL:2007/08/14(火) 17:46:07 ID:???
>>758
何に使うの
764NAME IS NULL:2007/08/14(火) 18:01:08 ID:???
なんとなく、 MySQL あたりを使った方がトータルで実装&運用コスト低い気がする。
765NAME IS NULL:2007/08/14(火) 18:09:57 ID:???
Google Browser Sync みたいなことを自分のアプリでも
やりたいなぁって。googlegear みたいなものに任せろ
っていう意見もあるかと思うんですが、できれば
データのストアにはSQL使いたいです。
それに別にウェブアプリをオフライン化したいとかじゃないし。
766NAME IS NULL:2007/08/14(火) 18:30:46 ID:???
データ変更のタイミングがプログラムの起動・終了時とかに限られてて
常時書き換えが起こるもんでもないという条件であれば、
適当なファイル転送プロトコル (scp とか rsync とか) 使えば良いんでないかい?
767NAME IS NULL:2007/08/14(火) 19:32:17 ID:???
>>766
残念ながらデータベースのサイズがかなりでっかいんですよ。
なので丸ごとというのはちょっとなぁ、と思っている次第です。
自前でレコード単位でのバージョニングをやって、
変更があったところだけ同期させるとかしかないかなぁ。
同期アルゴリズムについて広く扱った文献ってあります?
SyncML とかの関連文書を読めばいいんだろうか。
それともソースコードのバージョン管理を模倣すればいいんだろうか、
Subversion とかでやってることを。
768NAME IS NULL:2007/08/14(火) 21:17:51 ID:???
SyncMLはプロトコル決めただけだから
その用途では手数がかかり過ぎるので勉強する意味はあまりない

いきなりレコード単位でどうこうすることを考えるより
まずはSQLiteのDBファイルをrsyncしてみて
実用に耐えなかったら次の手を考えることにしたらどうよ
769NAME IS NULL:2007/08/14(火) 23:17:09 ID:???
>>767
> 残念ながらデータベースのサイズがかなりでっかいんですよ。
> なので丸ごとというのはちょっとなぁ、と思っている次第です。

なら、SQLite を選ぶのは間違い。
素直にレプリケーション機能が実装されてる DBMS 使え。
770NAME IS NULL:2007/08/15(水) 00:42:24 ID:???
rsyncで差分転送は効かないの?
771NAME IS NULL:2007/08/15(水) 00:53:01 ID:???
マカって無知なのに自覚無いから、周りに居ると迷惑だよな。
無理なものを無理と認識できないのがマカ。自称専門家だけにタチが悪い(w
772NAME IS NULL:2007/08/15(水) 00:54:24 ID:???
またおまえか
773NAME IS NULL:2007/08/15(水) 01:14:32 ID:???
>>770
ログファイルみたいに単純に追記するタイプのファイルなら差分転送効くけど、
SQLite みたいにファイルの途中も書き換わるタイプのファイル形式だとダメじゃないかな。
774リッチャンハ、カワイイデスヨ:2007/08/15(水) 06:03:40 ID:???
>>773
rsyncにはバイナリ差分転送があるでよ
775NAME IS NULL:2007/08/15(水) 06:28:40 ID:???
ならそれでいいじゃん!
776NAME IS NULL:2007/08/15(水) 07:38:14 ID:ZGw0XGaS
マ・・・カ・・・?
777NAME IS NULL:2007/08/15(水) 10:59:50 ID:???
変わるところが、追記されたところと、
indexぐらいなら差分転送が効率よさそうな気がする。
まあ容量次第じゃね?

ちょっといじって、DBを書き換えるSQLを保存するようにして、
それを転送して、リモートでも実行してはどうか。
自前レプリケーションだが。
778NAME IS NULL:2007/08/21(火) 18:13:08 ID:veBr/p1H
寂れすぎ
779NAME IS NULL:2007/08/23(木) 19:54:53 ID:???
SQLiteって面白いな。あ、スレがあった
と思って遊びに来たら 留守だった
780NAME IS NULL:2007/08/23(木) 20:05:12 ID:???
そりゃ何かクエリ発行してもらわないと
781NAME IS NULL:2007/08/23(木) 20:43:38 ID:???
insert into [SQLite 5] (ID, name, res) values (NULL, NULL, 'SQLiteって面白いな。あ、スレがあった
と思って遊びに来たら 留守だった')
782NAME IS NULL:2007/08/23(木) 23:06:13 ID:???
>>779
留守に忍び込むのは犯罪ですよ
783NAME IS NULL:2007/08/24(金) 18:22:13 ID:???
誰か過去スレのログとか持ってないかな。
select * from [SQLite 〜4]
784NAME IS NULL:2007/08/24(金) 19:38:45 ID:Bcq7TFwB
SQLiteの脳内イメージ
http://nounaimaker.com/?a=Maker&oo=SQLite
785NAME IS NULL:2007/08/24(金) 21:30:56 ID:???
このしょーもない奴色んなスレに張られてるな
786NAME IS NULL:2007/08/26(日) 09:51:31 ID:???
>>783
持ってるけど不毛だよ。延々としょうもない
煽りあいばっかで何の役にも立たないよ。
787NAME IS NULL:2007/08/26(日) 10:13:44 ID:???
>>786
おまえがなー
788NAME IS NULL:2007/08/26(日) 10:31:52 ID:???
>>786
4000レスの全てが不毛ってわけではないでしょう。
その中に少しでも毛が入ってるなら読みたいです。
789NAME IS NULL:2007/08/26(日) 13:48:59 ID:???
>>788
3960くらいは不毛だと思うよw
790NAME IS NULL:2007/08/26(日) 14:32:55 ID:???
>>789
あとは勇気で補えばいい
791NAME IS NULL:2007/08/26(日) 15:03:18 ID:RWaRFn9B
>>786
不毛かどうかじゃなく、
くれるかどうかを知りたいんじゃないか
792NAME IS NULL:2007/08/28(火) 09:53:34 ID:???
SQLite の競合になる?

CodeZine:省リソースで軽快に動作する組込向けデータベース「Ultra Light」(データベース, 組込み)
ttp://codezine.jp/a/article/aid/1638.aspx
793NAME IS NULL:2007/08/28(火) 12:00:43 ID:???
>>792
高いぞ・・・
794NAME IS NULL:2007/08/28(火) 19:11:12 ID:???
@"CREATE TABLE GOALS(GOALS_ID integer primary key , CATEGORY varchar (50), PRIORITY integer ,
SUBJECT varchar (150) , DESCRIPTION varchar (500),START_DATE datetime , COMPLETION_DATE datetime)"
こんな感じのテーブルに

string category = "category-" + (i % 1000).ToString();
string subject = "subject-" + (i % 100).ToString();
Cmd.CommandText = string.Format(@"insert into goals values({0},'{1}',{2},'{3}','descrript','1970/1/1','1970/12/12')",
i, category, i, subject);
こんな感じに100万行インサートして

"select subject,count(*) as count from goals group by subject order by count desc";
こんな感じに検索すると
Sqliteだと11秒、SqlServer2005Expressだと1.7秒なんですがこんなもんでしょうか?
ちなみにインサートはSqliteが90秒、SqlServer2005Expressだと280秒ぐらいでした。

CPUは2.4GDuo、メモリは2G
795NAME IS NULL:2007/08/28(火) 20:26:20 ID:???
>>793
GPLでも使いにくいのに、有料製品なのかそれ
796NAME IS NULL:2007/08/29(水) 09:26:21 ID:???
alter table で列削除できないのな。
中途半端なDBだな
797NAME IS NULL:2007/08/29(水) 09:31:48 ID:???
>>795
製品を作るんであれば、品質保証もあるしサポートも受けられていいんジャマイカ
798NAME IS NULL:2007/08/29(水) 12:57:50 ID:???
インデックスは?
799794:2007/08/29(水) 15:22:19 ID:???
自分に対しての質問かわからんがcategory,subjectにインデックスつけてみた。
インサートが2,3割ほど遅くなるが検索は同等もしくは早くなる
SQLiteだとインデックスつけたときに行数が多くなるにつれてインサートスピード若干ずつ伸びてくね。
800NAME IS NULL:2007/08/29(水) 17:23:56 ID:???
>>797
残念ながらそういうのが役に立った経験ってほとんど無いんだよね。
で、みんなフリーなDBに流れて行く。w
801NAME IS NULL:2007/08/29(水) 20:08:37 ID:???
業務で使わん限りサポートなんてイラネ
802NAME IS NULL:2007/08/29(水) 20:35:28 ID:???
SQLでのカラム一覧の取得はどうしたらいいんでしょうか・・・(´・ω・`)
803NAME IS NULL:2007/08/29(水) 23:34:11 ID:???
livedoor Blog の裏側
http://pmakino.jp/tdiary/20051213.html#p01
>当初はお金で解決しようとして、某商用 DB (DB2 らしい) と高性能なハードウェアで凌ごうとしたが、
>・(当然だが) 高い
>・高い割に、期待するほどの性能を発揮してくれなかった
>・使い慣れないし、ブラックボックスなので、トラブった時自力で解決できず、ベンダーサポートに頼るしかない
>・サポートも必ずしも満足できるとは限らない
>等々の事情から、結局また MySQL に戻ることにした。
804NAME IS NULL:2007/08/29(水) 23:47:04 ID:???
>>797
いや、めいいっぱいフリーソフトなんだ
しかもパブリックドメインの
805とかち:2007/08/30(木) 01:24:16 ID:???
>>804
いや、どこでダウンロードできるのよ
806NAME IS NULL:2007/08/30(木) 12:25:13 ID:hAaTUNg1
>>802
pragma table_info(テーブル名);

で情報は取れるみたいですが、どうやったら他のSQL文と連携させられるのかわかりません。
いつもはCのAPIのsqlite3_column_name()で取ってるもので。
807NAME IS NULL:2007/09/04(火) 10:29:31 ID:???
パブリックドメインなのは、SQLiteだろ。
Ultra LightはSQLAnywhereじゃねーか
808NAME IS NULL:2007/09/04(火) 14:38:40 ID:???
なんかキタ

2007 Sep 04 (3.5.0) alpha
ttp://www.sqlite.org/34to35.html
809NAME IS NULL:2007/09/04(火) 22:09:41 ID:???
Cから直接触ってる奴がアンチに変貌する予感・・・
810NAME IS NULL:2007/09/05(水) 02:23:15 ID:???
C API は変更されてないのになんでアンチに変貌するんだか
811NAME IS NULL:2007/09/05(水) 11:06:12 ID:???
Cを知らない人なのだろうね
812NAME IS NULL:2007/09/05(水) 12:44:04 ID:???
>>810-811
変更されとるがな。Cインターフェースで非互換があるって
ドキュメントに書いてあるがな。確認しないで脊髄反射で
反論してくるこういう連中まじで不可解だわ。なんなの?
813NAME IS NULL:2007/09/05(水) 13:44:58 ID:???
この程度で困るのはCを知らない人では?
814NAME IS NULL:2007/09/05(水) 13:55:27 ID:???
>>813
程度の問題ではないだろう
変更が全くないか、しゅこしでもあるかは全然違う
815NAME IS NULL:2007/09/05(水) 13:59:23 ID:???
だから、しゅこしでも変更されちゃって困るのはCを知らない人では?
816NAME IS NULL:2007/09/05(水) 14:17:47 ID:???
>>814

3.4.2から3.5.0で、C API の変更内容は次の3点だと思うが、他にあるのけ?

1a. アンドキュメントな API sqlite3_os_switch() を削除した。
2a. sqlite3_enable_shared_cache() は、実行スレッドのみではなく、全スレッドに適用するように変更された。
2b. sqlite3_soft_heap_limit() は、実行スレッドのみではなく、全スレッドに適用するように変更された。
3c. sqlite3_release_memory() は、実行スレッドから接続したDBのみでなく、全スレッドの全DBについてメモリ縮小を行うように変更された。

SQLiteのソースをパッチして使っているユーザや、
細かくパフォーマンス調整を行っているユーザ以外は、
困ることはないと思う。
817NAME IS NULL:2007/09/05(水) 14:45:18 ID:???
>>815
ライブラリ差し替え時に総チェックだけで済むならいいけど
コードの改変が不可避ですってなったら顧客がいい顔しない
ってのが普通。俺が書いて俺が使うだけならどうでもいい。
818NAME IS NULL:2007/09/05(水) 15:05:52 ID:???
>>817
コード改変しないことが顧客の希望なら、安定版(3.4.x)を使い続ければOK。
まあ、API非互換が >816 の内容のみなら、特殊なことをやっているユーザ以外はコード改変不要だと思う。
819NAME IS NULL:2007/09/05(水) 15:14:27 ID:???
どうやら >>809 が興奮して先走り汁を出してしまったようだな
820NAME IS NULL:2007/09/05(水) 16:05:56 ID:???
>>817
コード改変禁止なら使うライブラリも変えちゃダメじゃないかwww
おまえ意味不明だよ
821NAME IS NULL:2007/09/05(水) 16:11:01 ID:???
俺は正体不明
822NAME IS NULL:2007/09/05(水) 16:13:44 ID:???
私は意識不明
823NAME IS NULL:2007/09/05(水) 19:58:14 ID:???
俺らの名前は NULL
824NAME IS NULL:2007/09/05(水) 22:45:38 ID:???
我らは POINTER
825NAME IS NULL:2007/09/05(水) 23:35:20 ID:???
ワレワレハ ウチュージンダ
826NAME IS NULL:2007/09/06(木) 01:34:33 ID:???
仕事で使ってる香具師は変態。
無料ソフトでサポート無いのに(w
827NAME IS NULL:2007/09/06(木) 01:59:47 ID:???
Googleのエンジニアは変態だったのか
828NAME IS NULL:2007/09/06(木) 02:32:30 ID:???
>>826
上司の口癖ですか?
829NAME IS NULL:2007/09/06(木) 07:14:49 ID:???
Appleのエンジニアも変態
830NAME IS NULL:2007/09/06(木) 09:22:26 ID:???
変態リスト
ttp://www.sqlite.org/cvstrac/wiki?p=BigNameUsers

あとSQLiteだって普通に有償サポートやってるぞ
831NAME IS NULL:2007/09/06(木) 10:29:36 ID:???
無知は罪なりってな
832NAME IS NULL:2007/09/07(金) 01:12:32 ID:???
ムチはSMなり
833NAME IS NULL:2007/09/07(金) 20:28:57 ID:???
キムチは韓国ニダ
834NAME IS NULL:2007/09/08(土) 14:28:20 ID:oIkAOIKu
ここまでの流れで少し気になったんだけど、SQLiteは決して慈善事業じゃないはず。
OSSではなくPDSにしたのは受益の構造を変えたわけではなく力量に合わせて
そうしただけだと思うのだが。
祝福を与えるというのはもちろん宣伝文句なわけで、それを宣伝文句以上に
受け止めるのはなぜなんだろう。
835NAME IS NULL:2007/09/08(土) 14:29:17 ID:???
>>834
日本語で書いていただけないでしょうか?
836NAME IS NULL:2007/09/08(土) 14:45:37 ID:oIkAOIKu
>>835
すいません。
どこがわかりにくかったでしょうか?
837NAME IS NULL:2007/09/08(土) 14:54:46 ID:???
>>836
はい。どこかわかりにくかったです。
838NAME IS NULL:2007/09/08(土) 18:22:29 ID:???
>>834
作者の DRH は思想的にけっこうイっちゃってる人なので
宗教的信念でやってるんだと思われ。
839NAME IS NULL:2007/09/08(土) 18:40:20 ID:???
>>838
ツレかよ
840NAME IS NULL:2007/09/09(日) 07:22:19 ID:???
アプリケーション組み込み用途だとOSSでもまだ不便だからPDSにしたんだと思うよ
対象アプリケーションのソースツリーに入れる時に
アプリとSQLiteのライセンスが適合するか判断する必要があるだけでも不便。
841NAME IS NULL:2007/09/10(月) 11:24:32 ID:ZSvaalBa
>>840
>>838みたいな人が多いんだよねぇ。
どこをどう読めば宗教的信念になるのかさっぱりわからんのだけど。
842NAME IS NULL:2007/09/10(月) 11:36:31 ID:???
直接的に金銭を動機としない行動はすべて宗教と考える単純な人なんでしょ
843NAME IS NULL:2007/09/10(月) 18:31:17 ID:???
SQLite調べたのですがよくわかりません。
『サーバとしてではなくアプリケーションに組み込まれて利用される軽量データベースである』
とありますが、サーバとして動くのでしょうか?

サーバで動くとして、SQLiteはどの程度広まっているのでしょうか?
(勉強したとして、SQLiteが使えるレンタルサーバがなかったら嫌なので)
844NAME IS NULL:2007/09/10(月) 19:00:42 ID:???
勉強って、、使うだけなら5分もあればいいがな・・・
ミドル開発するんじゃあるまいし
845NAME IS NULL:2007/09/10(月) 19:18:54 ID:???
>>843
C言語ライブラリ。 SQLを解釈するISAMライブラリといったところか。
unixでいうdaemon、windowsでいうserviceとして単独で動くわけではない。
846NAME IS NULL:2007/09/10(月) 22:47:49 ID:VSqb6OQa
>>807->>842までの流れが気持ち悪い
↑おまえら死ね
847NAME IS NULL:2007/09/10(月) 23:22:32 ID:???
>>843
>サーバとして動くのでしょうか?

SQLite にサーバという概念はない。

Web サーバのスクリプト環境の中で使えるか否かという話をすれば、
sqlite 付きでビルドされた PHP5 や
DBD::SQLite モジュールがインストールされた Perl で使える。

>サーバで動くとして、SQLiteはどの程度広まっているのでしょうか?

PHP5 に標準で組み込まれてるから
レン鯖の PHP が5なら SQLite 関数が使える可能性が高い。
ただ、レン鯖で PHP5 が使えるところはあまり多くないだろう。
とりあえずさくらのレンタルサーバは PHP4。
他のレン鯖がどうなのかは知らね。ぐぐれ。

Perl の場合は DBD::SQLite がインストールされていれば使える。
例えばさくらのレンタルサーバにはインストールされているから使える。
848843:2007/09/10(月) 23:46:57 ID:???
>>844-847
ありがと、なんとなくだが解ったよ。
849NAME IS NULL:2007/09/11(火) 01:00:52 ID:???
>>841-842
信者乙
850NAME IS NULL:2007/09/11(火) 16:23:50 ID:???
とりあえずアンチが発生する程度には SQLite も有名になったってことかな?
みんな丁寧にスルーしてあげてなー
851NAME IS NULL:2007/09/12(水) 09:55:21 ID:???
>>850
お前が率先してスルーしろよ
852NAME IS NULL:2007/09/12(水) 12:26:39 ID:???
PHP5.1以降はSQLiteは標準で組み込まれない
853NAME IS NULL:2007/09/12(水) 21:06:45 ID:???
PHP厨が減るならちょっと嬉しい
854NAME IS NULL:2007/09/12(水) 21:50:08 ID:X3W6T7I5
>>852
根拠は
855NAME IS NULL:2007/09/13(木) 15:54:38 ID:???
>>852 http://jp.php.net/manual/ja/ref.sqlite.php
>PHP 5 では、SQLite 拡張モジュールとエンジンは PHP 自身にバンドルされ、デフォルトでコンパイルされます。
>しかし、PHP 5.1.0 以降では 手動で有効にする必要があります (共有モジュールとしてバンドルされるからです)。

ボクちゃんマニュアル読もうよ。
856NAME IS NULL:2007/09/13(木) 18:27:14 ID:???
ほんとだ、標準じゃなくなるのはちょっと困るな
857NAME IS NULL:2007/09/13(木) 20:16:37 ID:???
SQLiteマンセー
DLL版をwindowsのsystem32に標準で入れてもいい
レジストリなんかやめて、各ユーザーディレクトリにSQLite DBを置いたらいい
858NAME IS NULL:2007/09/13(木) 20:24:12 ID:???
設定ファイルなんぞはini, conv, xmlでいい
859NAME IS NULL:2007/09/13(木) 20:33:47 ID:???
> レジストリなんかやめて、各ユーザーディレクトリにSQLite DBを置いたらいい

それは、今各ユーザディレクトリにある ntuser.dat の
内部形式がSQLiteになるって言ってるだけだぞ?
それで何が変わるんだよw
860NAME IS NULL:2007/09/13(木) 20:44:49 ID:???
なぜか。
regeditの検索の遅さを観れば、アレがDBとしては考えられていないことがわかる。ただツリーっぽい構造があるだけ。
SQLなら、検索も抽出もできるし、ある種のファイルシステムのようにBLOBデータをぶち込んでもいい。

でもそれがなんに使えるかは判らない。
昔の人は琥珀をこすると静電気が起こることを知っていたが、それがなんに使えるかは長い間誰もわからなかった。
861NAME IS NULL:2007/09/13(木) 20:50:45 ID:???
SQLiteにしたらツリーっぽい構造がなくなって困るわけだが。
2つのアプリが同じ名前のDBファイル作ろうとしたらどうすんだ。
862NAME IS NULL:2007/09/13(木) 20:53:48 ID:???
それはツリーのノードにも言える。
863NAME IS NULL:2007/09/13(木) 21:01:11 ID:???
むしろ、それに「WinFS」って名前を付けて、ファイル操作APIから直接読めるようにして、
Vistaにバンドルしてしまえばよかったんだよ
864NAME IS NULL:2007/09/13(木) 21:13:19 ID:???
>>859
確かに性能が良くなるだけで何も変わらないだろうなw
865NAME IS NULL:2007/09/13(木) 22:02:13 ID:???
俺なんか良いことを言った希ガス?
VHDみたいにDBをHDDみたいにマウントできて、SELECTクエリを使ったスマートフォルダが作れたら、
検索も集計も一瞬じゃないか
HDDをガーガー鳴らしてインデックスを作成することもない。
866NAME IS NULL:2007/09/13(木) 22:11:00 ID:???
つ MacOS
867NAME IS NULL:2007/09/13(木) 22:12:44 ID:???
それってspotlightのインデックス検索にSQLiteつかってるだけなんじゃね?
868NAME IS NULL:2007/09/13(木) 22:19:59 ID:???
つ libsqlfs
869NAME IS NULL:2007/09/13(木) 22:32:03 ID:???
>>868
資料少ないからよくわからんけど面白そうだな?
ファイルシステムをポータブルなDBに閉じ込めてしまえば、将来コンピュータのメモリ階層が劇的に変わって
フラットな64bitアドレス空間にDRAM、フラッシュ、HDDが展開されるようなことになっても、
DBさえコピーすれば別の媒体にバックアップもできて、DBらしくインデックス無しで高速に検索もできる、
なんてことも、技術的には不可能ではないな。
もちろんそのころにはSQLiteではない何かだろうけど
870NAME IS NULL:2007/09/13(木) 22:53:03 ID:???
>DBらしくインデックス無しで高速に検索もできる

はぁ?お前、何かしらDBに幻想を抱いてないか?
871NAME IS NULL:2007/09/13(木) 23:00:07 ID:???
うん、まさに幻想を抱いているんだよ。
データベースがストレージなら、ネットワーク上のDBMSサーバーはネットワークドライブの供給元みたいな
存在になる。でも、FTPやWindows共有のような現実的なものじゃない。
フォルダ単位でのファイル管理の概念は薄れて、タグ付けされたブログの記事のように、内容は名前と属性で抽出される。
カレントディレクトリという概念がなくなって、すべてのデータが動的に集まったり集計されたりする。
これは幻想的なストレージじゃないの
872NAME IS NULL:2007/09/13(木) 23:06:53 ID:???
それから勘違いしないでほしいのが、「インデックス無しで」というのはGoogle Desktopとか
インデックスサービスとかが作ってくれる巨大な検索データベースを無しでってことで、
CREATE INDEX〜 とかやるあのインデックスのことじゃないんよ
873NAME IS NULL:2007/09/13(木) 23:08:54 ID:???
MSはそのようなものを計画していたらしいね
結局色々ポシャッたあげくが今のVistaだが
874NAME IS NULL:2007/09/13(木) 23:18:39 ID:???
>>873
WinFSはSQL Serverベースという話だったね。
MSがLonghornの構想段階でそこまで考えていたなら、なんてもったいない企画倒れかと感じる。
でも実際、使える仕様なんて責任持ってはまだ誰にも考えられないと思うよ。
875NAME IS NULL:2007/09/13(木) 23:53:44 ID:STs/kD64
> SQLiteにしたらツリーっぽい構造がなくなって困るわけだが。
正規化すればいいだけだろ。
876NAME IS NULL:2007/09/14(金) 01:05:05 ID:???
>>872
それって CREATE INDEX 〜 のかわりに
CREATE FULLTEXT INDEX 〜するだけじゃね?
どんな DB でも一瞬で検索するには何かしらのインデックスが必要
877NAME IS NULL:2007/09/14(金) 01:47:40 ID:???
WMIはモロSQLっぽい引き方出来おるけど
あれはいったい何なんだい?
878NAME IS NULL:2007/09/15(土) 01:53:11 ID:???
>>860
> regeditの検索の遅さを観れば、アレがDBとしては考えられていないことがわかる。ただツリーっぽい構造があるだけ。
普通はレジストリは検索することはない。
879NAME IS NULL:2007/09/15(土) 03:06:23 ID:???
おまいは幸せだな
880NAME IS NULL:2007/09/15(土) 11:31:55 ID:???
「検索」の意味を知らないだけだろ
881NAME IS NULL:2007/09/15(土) 11:53:34 ID:???
レジストリはどう考えてもハッシュをたどっていくことしかしないよな?
882NAME IS NULL:2007/09/15(土) 14:39:36 ID:???
レジストリ全体から spyware.exe を含む項目を検索して一覧表示できるぞ。
883NAME IS NULL:2007/09/15(土) 18:02:25 ID:RucH5tWF
じゃぁ、WindowsではSQLiteの代わりにレジストリ使おうぜ!
884NAME IS NULL:2007/09/15(土) 18:03:16 ID:???
はぁ?
885NAME IS NULL:2007/09/15(土) 20:33:11 ID:/rl8tKAi
レジストリって、VACUUMできるの?
886NAME IS NULL:2007/09/15(土) 21:14:15 ID:???
一応できる
887NAME IS NULL:2007/09/15(土) 21:30:02 ID:STKuBrgm
>>855
マニュアルはお前みたいのが読んでくれるから助かるw
888NAME IS NULL:2007/09/15(土) 22:07:09 ID:???
>>882
できるけど、普通はそんなことしないだろ?
889NAME IS NULL:2007/09/15(土) 23:32:34 ID:???
パラダイムシフトとはそういうことだ
サランラップだって売り出した当初は誰にも使い方がわからなかったw
890NAME IS NULL:2007/09/15(土) 23:35:46 ID:???
サランラップの話がしたいのならよそいけ
891NAME IS NULL:2007/09/16(日) 00:19:54 ID:???
まったくだな。帰る
892NAME IS NULL:2007/09/17(月) 19:23:05 ID:???
今働いてる会社は、SQLiteで業務運営してるんだけど信頼性とかどう思う?
DBサーバでDB→CSVを行って、それみてWebとか運営してる。
なんかあまりDBの意味ない気がするんだが。素人でスマン。
893NAME IS NULL:2007/09/17(月) 20:49:50 ID:???
>>892
検索条件がキメ細やかに出来る可能性を持っているという一点だけで
DBの価値はある
894NAME IS NULL:2007/09/17(月) 21:28:05 ID:???
なるほど。ありがとう。
895NAME IS NULL:2007/09/17(月) 23:42:07 ID:???
確証もない変な脳内妄想してるやつが多いな
レジストリ関係のWin32API見れば大体の事が分かるだろ

896NAME IS NULL:2007/09/18(火) 01:06:47 ID:???
>>895
おまえにサランラップの何がわかるというのか!

つか、アンカーつけようよ
897NAME IS NULL:2007/09/18(火) 20:27:36 ID:???
>>892
Windowsつかってんでそ?
そんなら信頼性もクソもないから気にするなw
898NAME IS NULL:2007/09/18(火) 23:59:38 ID:???
LinuxやFreeBSD使ってりゃ信頼性有るとでも思ってる馬鹿がまだ存在していたのか。
899NAME IS NULL:2007/09/19(水) 00:17:21 ID:???
>>897-898
どちらも馬鹿っぽいな
900NAME IS NULL:2007/09/19(水) 02:07:18 ID:???
>>895
お前だけだよ。変な妄想しているのはwwww
901NAME IS NULL:2007/09/19(水) 14:11:07 ID:???
しかし馬鹿MVPは>>899が輝いたのであった
902NAME IS NULL:2007/09/19(水) 22:24:54 ID:???
馬鹿話もいい加減にしろ!
お前らまとめてTRUNCATEしてやる!
903NAME IS NULL:2007/09/20(木) 06:32:44 ID:???
VACUUMしないといつまでも沸いてでますよ
904NAME IS NULL:2007/09/20(木) 19:53:04 ID:???
俺がツッコんで欲しかったのはそうじゃなくて!
905NAME IS NULL:2007/09/22(土) 00:58:52 ID:???
Ω<sqliteにはtruncateないよ
906NAME IS NULL:2007/09/22(土) 07:29:47 ID:cYc7BsFu
>>905
命令としては無いけど確か自動でやるんじゃなかったっけ?
907NAME IS NULL:2007/09/22(土) 09:01:27 ID:???
WHERE節抜きのDELETE時に自動でやってくれるそうな
ttp://www.sqlite.org/cvstrac/wiki?p=UnsupportedSql
908NAME IS NULL:2007/09/22(土) 12:55:05 ID:pQDt4ke/
>>907
それ2003.08.06になってるけど、情報古くない?
909NAME IS NULL:2007/09/22(土) 20:10:10 ID:???
古いことがなんかの理由になるのか?
910NAME IS NULL:2007/09/22(土) 21:03:25 ID:sbj4/T3T
2004年あたりにpragma使わないと自動でやらなくなったとか
911NAME IS NULL:2007/09/23(日) 07:26:00 ID:Aqae30Ei
truncateしてくれないならレジストリ使ったほうがいいな。
レジストリなら複雑な問い合わせでも工夫すれば速いし。
912NAME IS NULL:2007/09/26(水) 00:29:51 ID:???
英文の単語単位の前方一致検索がしたくて、抽出条件に Value GLOB '*[^a-z]hoge*' って
してみたけど、単純な Value LIKE '%hoge%' に比べてずいぶん遅いねぇ。何か速くなる方法ないかな?
913NAME IS NULL:2007/09/26(水) 00:34:11 ID:???
FTSを使う
914NAME IS NULL:2007/09/26(水) 01:10:56 ID:???
それってGLOBでもインデックスが使われるもんなの?
FTSのMATCHでは単語前方一致のような機能はなさそうに見えるけど

勘違いなら俺の尻をぶって叱ってくれ
915NAME IS NULL:2007/09/26(水) 10:23:17 ID:???
いやもうね、SQLiteが一番トラブルないってのが不思議なんだよ
V2だけど
SAPにへばりついてるオラクル市ねって感じ
916912:2007/09/26(水) 18:41:57 ID:???
すまん単なる最適化不足だ 無視して!
917NAME IS NULL:2007/09/26(水) 19:24:57 ID:CF0OeSbD
>>916
いや、日本語の情報が不足してるから、むしろわかったことがあれば
書いてもらったほうがありがたい。

2チャンネルには、そんなことも分かんないのかーwwwっていう天才君が
多いけど、実際使ってる人間はそれなりに苦労して使ってるはずだから。
918NAME IS NULL:2007/09/26(水) 20:15:34 ID:???
>>917
うーーん、多分 SQLite以外のほとんどのDBMSに共通な、レベル低そうな話で悪いんだけど。

たとえば、英語の青空文庫が数万ページあったとして、1ページ1レコードとしたテーブルから、
「hogで始まる単語」を含むページのみを抽出したい。ところが、WHERE Value LIKE '%hog%' で抽出すると
速いのに、WHERE Value GLOB '*[^a-z]hog*' で抽出するとすごく遅い。条件がより複雑だからね。
だから、Value LIKE '%hog%' に当てはまったレコードだけに絞ってから、より厳しい条件である
Value GLOB '*[^a-z]hog*' に当てはまるレコードを探せばいい。'hog' を含む単語なんてめったにないからね。
いわゆるスカウト法という奴。
つまり、

× WHERE Value GLOB '*[^a-z]hog*'
○ WHERE Value LIKE '%hog%' AND Value GLOB '*[^a-z]hog*'

と。最初からもっと頭使えということだな。
919NAME IS NULL:2007/09/26(水) 21:23:34 ID:???
>>918
スカウト法 って一般的な言い方なの?
概念はコロンブスの産卵って感じで納得したけど
920NAME IS NULL:2007/09/26(水) 21:49:00 ID:???
さっと見て望みのありそうな奴だけを探し出す、スカウト。俺に一般的な用語だったけど、
一般に一般的なのかどうかは考えてなかったかもしれん。なんかの木の効率的な探索で
そんなアルゴリズムがあって、その解説サイトで使ってた用語が染み付いてただけさ
921NAME IS NULL:2007/09/27(木) 00:06:24 ID:???
>>920
OK
今この時からこのスカウト法という表現を布教させるわ
922NAME IS NULL:2007/09/27(木) 00:40:32 ID:???
「スカウト法」でぐぐると、「スカウト法」は無いけど「ネガスカウト法」というのがあるみたいね。
923NAME IS NULL:2007/09/27(木) 00:41:59 ID:???
今後は「スカウト法」でぐぐるとここが出るようになるんだろうな。w
924NAME IS NULL:2007/09/27(木) 00:58:34 ID:???
ワロス
この指でまたひとつの罪を犯した!
925NAME IS NULL:2007/09/27(木) 00:58:50 ID:???
じゃ俺はスカトロ法を普及させるわ
926NAME IS NULL:2007/09/27(木) 06:57:31 ID:???
スカウター法:スカウターの数字をぱっと見て、望みのあるやつを探し出す
927NAME IS NULL:2007/09/27(木) 09:45:36 ID:???
なにその夢のメソッド?
928NAME IS NULL:2007/09/27(木) 09:49:53 ID:???
それってどんなベジータ?
929NAME IS NULL:2007/09/29(土) 00:40:44 ID:3wjr94nz
でもスカウト法メッチャ便利だな
目からうろこってまさにこのことだと思った
930NAME IS NULL:2007/09/29(土) 00:46:05 ID:???
sqlite3のソースをcygwinでビルドするとos_win.cでエラーになるなぁ
何かと思ったら、1329行目のreturn文にセミコロンが無かった

#if defined(__CYGWIN__)
cygwin_conv_to_full_win32_path(zRelative, zFull);
return SQLITE_OK
#endif
931NAME IS NULL:2007/10/03(水) 19:17:22 ID:???
修正内容。

cygwinでコンパイルできるように、return文にセミコロンをつけた。
932NAME IS NULL:2007/10/05(金) 03:26:02 ID:???
sqlite-users で drh が「スレッド=悪」とか言って大暴れしてて笑えるw
933NAME IS NULL:2007/10/05(金) 14:03:07 ID:???
暗号化実装したフリーの改良版はないの?
934NAME IS NULL:2007/10/05(金) 16:24:47 ID:???
無い。
935NAME IS NULL:2007/10/05(金) 17:47:05 ID:???
見つけた
936NAME IS NULL:2007/10/05(金) 19:29:58 ID:???
SQLServerExpressとSqliteで同じような処理(joinなどを含まない、select,insert,update)を行った場合に、Sqliteのパフォーマンスが、トータル時間でSqlserverの6,7割と若干早いのですが、こんなものでしょうか?
処理内容によっていろいろと変わると思いますが、参考意見あればお願いします(´・ω・`)
937NAME IS NULL:2007/10/05(金) 21:08:13 ID:???
>>936
トランザクションをきちんとやらないとベリースローです。
938936:2007/10/05(金) 21:24:31 ID:???
トランザクションは入れてます。
939NAME IS NULL:2007/10/05(金) 21:27:46 ID:???
そりゃそうだ
940NAME IS NULL:2007/10/05(金) 23:04:20 ID:???
>>936
これは参考意見だが、処理内容によっていろいろと変わると思うよ。
941NAME IS NULL:2007/10/07(日) 20:06:16 ID:???
2007-Oct-04 - Version 3.5.1
942NAME IS NULL:2007/10/08(月) 16:03:54 ID:???
某ファイルの処理してて5000件丸ごとトランザクションにほりこんで最後にコミットしたら10秒で終わってワロタ
それまで100秒くらいかかってたのに^^;
943NAME IS NULL:2007/10/08(月) 16:12:43 ID:???
5000件で10秒って遅すぎないか?
944NAME IS NULL:2007/10/08(月) 16:34:45 ID:???
戯言に突っ込み入るとは思わなかった・・・
ちなみにファイルはTrueCryptのコンテナに入れてるんすよ
945NAME IS NULL:2007/10/08(月) 16:47:15 ID:???
落ちないこと前提だけど、
PRAGMA synchronous = OFF;
にチャレンジしてほしい。
946NAME IS NULL:2007/10/08(月) 17:00:37 ID:???
ベンダーのエンジンは最初から暗号化してる件
947NAME IS NULL:2007/10/08(月) 17:08:59 ID:???
wxSqlite3
http://wxcode.sourceforge.net/components/wxsqlite3/

wxWidgetsのwrapperだけどMD5暗号に対応してる
948942:2007/10/08(月) 17:18:03 ID:???
すげぇややこしくなったな
・5000個のテクストファイルがある(これらのファイルが暗号化してある)
・1つのファイルをいろいろ処理したものを1レコードとして登録する
ごめんね
949NAME IS NULL:2007/10/08(月) 17:47:50 ID:???
みんなベンチマークしかしないんだよw
950NAME IS NULL:2007/10/08(月) 17:48:33 ID:???
テクストww
951NAME IS NULL:2007/10/08(月) 19:06:39 ID:???
wxSqlite3
http://wxcode.sourceforge.net/components/wxsqlite3/

訂正
暗号方式はAESのようだ
商用パッケージとかぶるので自己責任で使えと書いてある
952NAME IS NULL:2007/10/08(月) 19:10:14 ID:???
正確にはMD5+RSA+AES
ちなみにSqliteレベルでの改造でdllが同封されてる
wxWidgetsのラッパを使わなくても直接使えそう
953NAME IS NULL:2007/10/08(月) 19:15:40 ID:???
wxWidgetsは権利ほとんど放棄のライセンスだから
純粋にSqliteライセンスに従ってOK
954NAME IS NULL:2007/10/13(土) 18:04:43 ID:scvTFNaQ
sqliteで特定フォルダ内の全ファイル名についてのテーブルを作りたいんですが、
やっぱりFindFirstFileとかは自分でやる必要ありますか?
(そういうファイル検索関係の機能はsqliteにありませんか?)
955NAME IS NULL:2007/10/13(土) 18:39:38 ID:???
ありません。
956NAME IS NULL:2007/10/13(土) 19:18:39 ID:???
ありがとうございました。
これからシコシコします。
957NAME IS NULL:2007/10/13(土) 19:24:59 ID:???
ふぅ。今アタマの中が世界平和の事でいっぱいです(^^)
958NAME IS NULL:2007/10/19(金) 15:47:13 ID:y19b4TGj
初歩的な質問なのですが、教えてください。

SQLiteには他テーブル・レコードの内容を参照してupdateする構文(updateの副問い合わせ)が
無い様なのですが、これは、insert or replace を使えと言うことなのでしょうか?

バージョンは 2.8.17 (PHP5のバンドル版) です。
959NAME IS NULL:2007/10/19(金) 16:29:42 ID:???
CREATE TABLE members( name UNIQUE, addr, birthday );

UPDATE members SET
addr=(SELECT addr FROM members WHERE name='nida')
birthday=(SELECT birthday FROM members WHERE name='nida')
WHERE name='mona';
960NAME IS NULL:2007/10/19(金) 16:53:24 ID:y19b4TGj
>>959
勘違いだったようです。
どうもありがとう。助かりました。
961NAME IS NULL:2007/10/19(金) 17:16:57 ID:y19b4TGj
先ほど自分が失敗してたのは、副問い合わせではなく、相関副問い合わせでした。
お手数をかけさせてしまって申し訳ない。

こんな感じ。

CREATE TABLE members2( name UNIQUE, addr, birthday );

UPDATE members2 SET
addr=(SELECT addr FROM members WHERE members.name=members2.name) ,
birthday=(SELECT birthday FROM members WHERE members.name=members2.name);

エラー
SQL logic error or missing database
no such column: members2.name

Oracleだと動くと思うのですが、相関副問い合わせはサポートされてないって事ですかね。
962NAME IS NULL:2007/10/19(金) 17:39:49 ID:???
>>961
3.5.1でそれ試したら普通に動いたが。
963NAME IS NULL:2007/10/19(金) 17:52:57 ID:y19b4TGj
>>962
そうですか。SQLite が成長してるのは喜ぶべきなんでしょうね。
自分のは、PHP5のデフォルト環境のままで使えるようにしたいので、SQLite2で頑張ってみます。

どうもありがとうございました。
964NAME IS NULL:2007/10/19(金) 21:57:23 ID:???
これだからPHP厨は嫌われるのだ
965NAME IS NULL:2007/10/19(金) 23:50:20 ID:???
>>964
問題はID:y19b4TGjの書き方だな。PHP標準のSQLite2という制約があるなら始めに書けよという。

別にPHP標準のSQLite2という制約でやりたいというのは厨でもなんでもないだろ
レンタルサーバーとかだったら当然そうなったりする可能性ある。
966NAME IS NULL:2007/10/20(土) 00:34:22 ID:???
え、PHP 付属の SQLite って2だったんだ…
967NAME IS NULL:2007/10/20(土) 00:34:58 ID:kvJpw6Cb
>>965
すんません。

>>958 にバージョン書いておいたから、それで十分かと思ったもので。
968NAME IS NULL:2007/10/20(土) 05:45:14 ID:???
>965 は日本語をもっと理解できるように頑張るべきだ
969NAME IS NULL:2007/10/20(土) 06:41:23 ID:???
>>966
PHP5.1くらいからSQLite3になった。
970NAME IS NULL:2007/10/20(土) 13:36:57 ID:???
古いもの使ってる人は文句言っちゃいけないと思います
971NAME IS NULL:2007/10/20(土) 14:40:18 ID:kvJpw6Cb
>>969
そうなの? PHP5.2.0 使ってるけど、SQLite は 2.8.17 が入ってた。
SQLite3を使うことはできるけど、標準バンドルはされていないんじゃない。

そういえば、PHPも 5.2.4に上げなきゃ。

>>970
そんな気はないんだけど、文句に聞こえてたらごめんね。
972NAME IS NULL:2007/10/20(土) 16:04:11 ID:???
>>970
自分が書いてるわけでもメンテしてるわけでもないのに
なんでそんなに偉そうなの?
973NAME IS NULL:2007/10/20(土) 16:45:31 ID:???
V2でもじゅうぶんですよ
974NAME IS NULL:2007/10/20(土) 18:15:32 ID:???
>>972
ただの昔から言われてる教訓だよ
975NAME IS NULL:2007/10/20(土) 19:44:55 ID:???
>>972
ずいぶん偉そうですねwww
976NAME IS NULL:2007/10/20(土) 22:48:52 ID:???
>>975
キミ中学生?
977NAME IS NULL:2007/10/21(日) 00:09:03 ID:???
オレ小学生
978NAME IS NULL:2007/10/21(日) 01:19:39 ID:???
ぼくさんさい
979NAME IS NULL:2007/10/21(日) 03:08:30 ID:???
ちゆ12歳
980NAME IS NULL
ゆとり教育世代が来るようになったらどんなスレも崩壊する