2ちゃんねる ★スマホ版★ ■掲示板に戻る■ 全部 1- 最新50  

■ このスレッドは過去ログ倉庫に格納されています

SQLite 5

1 :NAME IS NULL:2007/04/11(水) 01:46:59 ID:gomR2ep+
http://www.sqlite.org/

過去スレ

sqliteを語るスレ
http://pc8.2ch.net/test/read.cgi/db/1056956494/
SQLite 2
http://pc8.2ch.net/test/read.cgi/db/1140827718/
SQLite 3
http://pc8.2ch.net/test/read.cgi/db/1152367932/
SQLite 4
http://pc11.2ch.net/test/read.cgi/db/1162621344/

2 :NAME IS NULL:2007/04/11(水) 08:01:48 ID:???
まさかの2get

3 :NAME IS NULL:2007/04/11(水) 09:13:52 ID:???
衝撃の3get

4 :NAME IS NULL:2007/04/11(水) 15:24:49 ID:???
2getに続いて、4get!?
こ、これは、三途の川の渡し賃か。

5 :NAME IS NULL:2007/04/11(水) 16:13:57 ID:???
5get&ついでに前スレで俺が役にたったもののメモ
load_extension
sqlite3_enable_shared_cache()
PRAGMA read_uncommitted=1

6 :NAME IS NULL:2007/04/11(水) 19:08:25 ID:???
どう役にたったのか一口コメント頼んます。

7 :NAME IS NULL:2007/04/11(水) 21:01:01 ID:???
彼女が出来ました

8 :NAME IS NULL:2007/04/11(水) 21:11:17 ID:???
腰痛が治りました

9 :NAME IS NULL:2007/04/11(水) 21:24:14 ID:???
のろいがとけました

10 :NAME 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


11 :NAME IS NULL:2007/04/11(水) 22:51:35 ID:???
SQLite入門は、クソ本だから立ち読みでOK。


12 :NAME IS NULL:2007/04/11(水) 22:54:43 ID:???
立ち読みの必要すら無いだろ

13 :NAME IS NULL:2007/04/12(木) 01:15:25 ID:???
もうバージョン5か
MySQLに追いついたな

14 :NAME IS NULL:2007/04/12(木) 01:20:37 ID:???
早くPostgreSQLにも追いつきたいですね

15 :NAME IS NULL:2007/04/12(木) 14:17:19 ID:???
無理無理。
アクセスにすら負けてるし。

16 :NAME IS NULL:2007/04/12(木) 14:37:35 ID:???
アクセスって・・・バージョン2007か。確かに追いつくのは大変だな。w

17 :NAME IS NULL:2007/04/13(金) 00:44:25 ID:???
やっぱりバージョン2のファイルが読めないのは致命的だよな。
気づかずに読み書きさせるとファイル壊れるし。orz

18 :NAME IS NULL:2007/04/13(金) 00:48:13 ID:???
ファイルが壊れるのは頭のおかしい人だけなのでへっちゃらですよ

19 :NAME IS NULL:2007/04/13(金) 01:12:05 ID:???
わかった!
ファイルが壊れるのと頭が壊れるのは等価なんだよ!

20 :NAME IS NULL:2007/04/13(金) 19:14:19 ID:???
今までの疑問が全て解決したな!

21 :NAME IS NULL:2007/04/13(金) 21:06:06 ID:???
やっぱりsqliteを業務で使ってる香具師は皆無だな。
趣味で使ってる分には問題が合ってもいいだろうし。

22 :NAME IS NULL:2007/04/13(金) 21:19:40 ID:???
>>21
問題起きるのは頭のおかしい人だけなので業務で使ってもへっちゃらですよ

23 :NAME IS NULL:2007/04/13(金) 21:41:09 ID:???
一体どういう業務で使ってるんだろう?

24 :NAME IS NULL:2007/04/13(金) 21:47:22 ID:???
既存アプリのカスタム案件でCSVをインポートしながらとかならありえる。

25 :NAME IS NULL:2007/04/13(金) 21:56:09 ID:???
Apple社にとってSpotlight開発は業務ではないのか?

26 :NAME IS NULL:2007/04/13(金) 22:20:37 ID:???
データベース屋からすれば物足りないだろうが、
デスクトップアプリに組み込む分には、データ構造を
考えたりする手間がはぶけていい。そもそも、
それこそが本来の使い方。

27 :NAME IS NULL:2007/04/13(金) 23:24:18 ID:???
>>21
発狂するってどういう気分?

28 :NAME IS NULL:2007/04/13(金) 23:56:04 ID:???
サポート無しのsqぃてを、業務で使うなんてありえない
問題が起こってからじゃ遅いんだぜ

29 :NAME IS NULL:2007/04/14(土) 00:09:23 ID:???
accessマンセー

30 :NAME IS NULL:2007/04/14(土) 00:59:28 ID:???
>>27
自分が壊れていくというのはとても恐いものだよ。
昼間っからリアルな幻覚見るし。
布団に入れば枕元を大きな蜘蛛が這い回り、眠って見るのは悪夢。
彼をこんな行動に駆り立てているのは恐怖なのさ。

31 :NAME IS NULL:2007/04/14(土) 01:58:04 ID:???
>>28
お前は他にもサポートの無いソフトを業務で使ったことは一切ないんだろうな?

32 :NAME IS NULL:2007/04/14(土) 02:30:15 ID:???
そもそも業務というものを一切やったことないのでは?w

33 :28:2007/04/14(土) 02:41:41 ID:???
お金を払えばサポートあるのかな、誰か英語訳してくれ
http://www.hwaci.com/sw/sqlite/prosupport.html

34 :NAME IS NULL:2007/04/14(土) 02:48:09 ID:???
>>28
ベンダのサポートがあっても問題は起きないわけじゃない。
必ず解決してくれるとも限らない。
君のようなレベルだと専属のコンサルタントを雇うのが良いだろう。

35 :NAME IS NULL:2007/04/14(土) 06:04:13 ID:???
サポートにかけるコストとそれにより回避しうる潜在損失を計算しない奴に業務とかいわれてもな。

36 :NAME IS NULL:2007/04/14(土) 07:08:36 ID:???
サポートはあるが日本語では無理だな。確実に

37 :NAME IS NULL:2007/04/14(土) 08:51:16 ID:???
>>30
具体的だね。それは実体験?

38 :NAME IS NULL:2007/04/14(土) 10:04:17 ID:???
SQLITEって自動的にUTF-8を使えるの?
DB作るときに何か設定するの?

39 :NAME IS NULL:2007/04/14(土) 10:15:06 ID:???
調べればいいじゃないか

40 :NAME IS NULL:2007/04/14(土) 10:38:32 ID:???
>>37
本職のプログラマならあのくらい追い詰められるのはフツー

41 :NAME IS NULL:2007/04/14(土) 13:03:40 ID:???
SQLiteってどうすればCURSOLが使えますか?

42 :NAME IS NULL:2007/04/14(土) 13:05:37 ID:???
CURSOLって何?

43 :NAME IS NULL:2007/04/14(土) 13:17:36 ID:???
もしかして: CURSOR

44 :NAME IS NULL:2007/04/14(土) 13:21:48 ID:???
>>41
ググれかす

45 :NAME IS NULL:2007/04/14(土) 15:57:38 ID:???
>>28
Solaris 10 ではサービス管理に SQLite を使ってるし
Symbian OS の上位版には SQLite が組み込まれてるし
東芝の輸出申請書の中に「SQLite」の文字があったりするんだが


46 :NAME IS NULL:2007/04/14(土) 16:54:09 ID:???
>>28
あんたにとっては、あり得ない世の中になりつつあるな

47 :NAME IS NULL:2007/04/14(土) 18:25:21 ID:???
Firefoxもsqlite使ってるね。

48 :NAME IS NULL:2007/04/14(土) 18:44:18 ID:???
Sleipnir2もsqlite使ってるね。

49 :NAME IS NULL:2007/04/14(土) 19:29:10 ID:???
そーいや、アクセス使ってるのって無いんじゃね。
へへっ、なんだ、蜃気楼みたいなもんだったんだな。

50 :NAME IS NULL:2007/04/14(土) 20:35:08 ID:???
>>40
> 本職のプログラマならあのくらい追い詰められるのはフツー

それが普通の底辺プログラマさん。こんばんわ。
今日もこんな時間までお仕事ご苦労様です。

51 :NAME IS NULL:2007/04/14(土) 20:51:14 ID:???
Janeもsqlite使ってるね。

52 :NAME IS NULL:2007/04/14(土) 20:59:27 ID:???
Janeじゃねぇ

53 :NAME IS NULL:2007/04/14(土) 21:26:56 ID:???
つまり配列構造を扱えないマカがsqliteを使ってるってこと?

54 :NAME IS NULL:2007/04/14(土) 22:57:04 ID:???
>53
日本語でおk

55 :NAME IS NULL:2007/04/14(土) 23:15:04 ID:???
配列構造とデータベースを同列に扱う馬鹿がいますねw

56 :NAME IS NULL:2007/04/18(水) 19:48:46 ID:arYv/vQ7
こんにちは。
検索条件で日付を使いたいときというのは、
割と頻繁にがあると思うのですが、
SQLiteでは、UNIXタイムを保存して比較するのが定番でしょうか?
'yyyymmdd'の形式でも文字列比較でどうにでもなるような気もしつつ質問です。

57 :NAME IS NULL:2007/04/18(水) 20:29:43 ID:???
>>56
それが楽だと思う。

58 :NAME IS NULL:2007/04/18(水) 22:41:07 ID:???
UNIXタイムだと32bitの壁をやぶれない

59 :NAME IS NULL:2007/04/18(水) 22:57:16 ID:???
64bitにすればいいじゃん

60 :56:2007/04/19(木) 08:55:17 ID:ed0eQyNa
ありがとうございます。
今のところ、32bitの壁(2038年問題でしたっけ?)はちょっと気になったので、
UNIXタイム(64bit)を文字列として保存しているんですが…。
SQLiteのINTEGERって32bitですよね?(処理系依存なのかな?)

61 :NAME 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.

62 :NAME IS NULL:2007/04/20(金) 03:05:56 ID:???
>>56
SQL 的には julianday の方がメジャー。
julianday なら double で取り出して -2415018.5 すれば VT_DATE に変換できるし。


63 :NAME 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';


64 :56:2007/04/20(金) 10:32:24 ID:7QIoKb5j
>>62-63
そういえば、関数をチェックするのを忘れていました。
ありがとうございました。

65 :NAME IS NULL:2007/04/20(金) 10:41:02 ID:???
日付関係
http://www.sqlite.org/cvstrac/wiki?p=DateAndTimeFunctions

66 :NAME IS NULL:2007/04/20(金) 16:33:59 ID:???
>>62-63
勉強になるな。
おれなんかTEXTで'YYYYMMDD'しか使ってないもんな。

67 :NAME IS NULL:2007/04/21(土) 17:21:29 ID:???
アクセス厨が来なくて寂しいな

68 :NAME IS NULL:2007/04/21(土) 17:24:58 ID:???
死んだんじゃね?

69 :NAME IS NULL:2007/04/22(日) 02:34:05 ID:???
呼ぶなバカ


70 :NAME 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のように、検索条件が複数になった際に、
同じ複合キーをキーとして定義していないとキーが使われないということはないですよね??

71 :NAME IS NULL:2007/04/24(火) 11:02:03 ID:???
すっかり過疎ってるな。
みんなアクセスに脱北したのか?

72 :NAME IS NULL:2007/04/24(火) 21:57:38 ID:???
うん。あっちで荒らしているよw

73 :NAME IS NULL:2007/04/25(水) 03:14:48 ID:???
マカばっか(w

74 :NAME IS NULL:2007/04/26(木) 20:26:26 ID:???
2007-Apr-25 - Version 3.3.17

75 :NAME IS NULL:2007/04/26(木) 20:41:05 ID:???
>>70
検索条件が複雑な場合、どのインデックスが使われるかは
オプティマイザが決定するが、複数のインデックスが
同時に使われることはない。

オプティマイザを賢くするため、定期的に ANALYZE するのを
お勧めする。


76 :NAME IS NULL:2007/04/26(木) 23:34:15 ID:???
これって1000万レコードとか管理できる?

77 :NAME IS NULL:2007/04/26(木) 23:36:24 ID:???
できる

78 :NAME IS NULL:2007/04/26(木) 23:43:21 ID:???
アクセスで言う所のインデックス再構築だな。

79 :NAME IS NULL:2007/04/26(木) 23:45:15 ID:???
1億くらいまでならやったことある

80 :70:2007/04/27(金) 09:19:50 ID:W77D2/Tj
>>75
ありがとうございます。
参考にさせていただきます。

81 :NAME IS NULL:2007/04/27(金) 09:41:15 ID:???
>>79
パフォーマンスはどうよ?

82 :NAME IS NULL:2007/04/27(金) 12:30:28 ID:???
1億レコードのファイルサイズとか知りたい。
10GBのファイルをごりごり動かしてそうだが。

83 :NAME IS NULL:2007/04/27(金) 14:34:58 ID:???
最高で500万くらいはあるけど一億は無いなw
ありえんwwそこまでやるなら普通のDB検討するだろww
差分バックアップもできねえし、普通やらねーだろww

84 :NAME IS NULL:2007/04/27(金) 15:36:42 ID:???
まずは「普通」の定義を

85 :NAME IS NULL:2007/04/27(金) 16:37:54 ID:???
Liteじゃないヤツ

86 :NAME 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 じゃないよ。

87 :86: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 はメールアドレスで、一部の値に偏って多数重複している
という傾向の違いが影響してそうだ。

88 :NAME IS NULL:2007/04/27(金) 19:55:38 ID:???
MySQLは、MyISAMかInnoDBかでだいぶ違うんじゃないの?

89 :NAME IS NULL:2007/04/27(金) 20:11:56 ID:???
もちろんやっているだろうけど、トランザクションとかも影響するよね。

90 :NAME IS NULL:2007/04/27(金) 21:19:37 ID:???
単純な検索やINSERTはよく比較されているけど、
JOINが入るときはまた大きく違うと思うんだけどなぁ

実際にありそうな設計のテーブルで
ちゃんとインデックスをつけたときの比較ってのを
やってほしいなぁ。誰か。

91 :NAME IS NULL:2007/04/27(金) 22:07:56 ID:???
>>86
ログ解析だけならもっとなんとかできんのかww
時間かかりすぎだろwww

92 :86:2007/04/28(土) 01:45:34 ID:???
>>88
あーそういえば意識してなかった。
デフォルトはどっちなんだろうか

>>91
インデックス作成が異様に遅いのがね…
結局作らない方がトータルの処理は速かったな…

93 :NAME IS NULL:2007/05/01(火) 10:55:57 ID:???
>>86
このとき、 SELECT の方の性能は比較してない?

94 :NAME IS NULL:2007/05/01(火) 15:22:15 ID:???
1000万ログならトランザクション使えばもっと速くなるよ。
sqliteだと無理だが。アクセスすらトランザクション使えるよ。

95 :NAME IS NULL:2007/05/01(火) 15:43:38 ID:???
>>94
sqliteでも普通にトランザクション使ってるが。
つーか、大量の挿入とか使わないと遅い。

アクセス厨って馬鹿ばっかだな。

96 :NAME IS NULL:2007/05/01(火) 15:44:01 ID:???
>>94
無理して話題に参加しなくても良いよ。

97 :NAME IS NULL:2007/05/01(火) 16:34:16 ID:???
じゃあsqliteのトランザクションの有無のベンチマーク示してみろよ。
無いから大して変わりないだろ。

98 :NAME IS NULL:2007/05/01(火) 16:49:37 ID:???
>>97 は何を言ってるんだ?

99 :NAME IS NULL:2007/05/01(火) 17:05:00 ID:???
sqliteのトランザクション有無の差はかなりある
beginしなかったらinsertのたびにcimmitされるんだぜ

100 :NAME IS NULL:2007/05/01(火) 17:07:51 ID:???
>>94
アクセスに1000万件は無理だろwww常識的に考えてwwww
やってみてくれwww

101 :NAME IS NULL:2007/05/01(火) 18:42:24 ID:???
野良犬に餌をやるなって。

102 :NAME IS NULL:2007/05/01(火) 18:50:45 ID:???
いやー、良く釣れるわw

103 :NAME IS NULL:2007/05/01(火) 19:37:28 ID:???
マカって本当に馬鹿だわ(w

104 :NAME IS NULL:2007/05/01(火) 22:16:32 ID:???
>>103
またおま(ry

105 :NAME 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秒で完了した。

106 :NAME IS NULL:2007/05/01(火) 23:34:34 ID:???
自動コミットも知らん奴が記事を書く時代なのか

107 :NAME IS NULL:2007/05/01(火) 23:59:56 ID:???
こりゃ酷い記事だ事。

108 :NAME IS NULL:2007/05/02(水) 00:22:55 ID:???
3年前の情報の少ない時に書かれた記事だからな。
大目に見てやれ。

109 :NAME IS NULL:2007/05/02(水) 01:24:24 ID:???
ログ1000万行追加8分ってトランザクションありの話?

110 :86:2007/05/02(水) 01:29:22 ID:???
>>93
してない。
仮にやったとしても、その時の用途だと
INSERT や CREATE INDEX にかかる時間と比べると
SELECT はゴミのように一瞬で終わったからほとんど比較にならなかっただろう。

>>94
一応マジレスしておくと、SQLite にもトランザクションはあるよ。
っていうかトランザクション使わないとどうしようもなく遅くなる。
>>86のようなケースなんか100倍遅くなってもおかしくない。

111 :NAME IS NULL:2007/05/02(水) 01:42:39 ID:???
今おもったんだけど86のってテーブル作ってデータを全部挿入してから
インデックス作ってるけど、最初にインデックスを作ってからデータを
挿入していったとしたらどっちが早いかな。

112 :86:2007/05/02(水) 03:09:04 ID:???
>>111
最初そうしてみたんだけどさらに果てしなく遅かった

113 :NAME IS NULL:2007/05/02(水) 10:19:10 ID:???
それはトランザクション使って果てしなく遅いのか?
やっぱりアクセスの方が早いな。

114 :NAME IS NULL:2007/05/02(水) 11:00:34 ID:???
>>113
というわけで、同条件でベンチマーク結果を貼ってちょ

115 :NAME IS NULL:2007/05/02(水) 13:24:40 ID:???
アクセスなら5分だよ。
アクセス95のファイルも問題なく読める。

116 :NAME IS NULL:2007/05/02(水) 13:37:48 ID:???
アクセス厨を相手にしちゃいけません。馬鹿ですから。

117 :NAME IS NULL:2007/05/02(水) 13:55:05 ID:???
馬鹿とか、そんなレベルじゃねぇだろ。精神疾患。

118 :NAME IS NULL:2007/05/03(木) 00:05:27 ID:???
アクセス厨はスレを盛り上げてるだけだろ

119 :NAME IS NULL:2007/05/03(木) 00:10:27 ID:???
でもアクセスの話題がないと過疎るよね。
マカって馬鹿だし。

120 :NAME IS NULL:2007/05/03(木) 15:38:20 ID:p1F62II5
SQLite←これなんてよむんですか?エスキューライト?

121 :NAME IS NULL:2007/05/03(木) 15:43:05 ID:???
SQLiteと書いて「アクセス」と読むんだよ

122 :NAME IS NULL:2007/05/03(木) 21:14:53 ID:p1F62II5
>>121 majimeni onegaisimasu.

123 :NAME IS NULL:2007/05/03(木) 21:36:05 ID:???
>>120
ttp://www.google.co.jp/search?q=SQLite+%E8%AA%AD%E3%81%BF%E6%96%B9

124 :NAME IS NULL:2007/05/03(木) 22:41:14 ID:p1F62II5
>>123
どうもありがとうございます。エスキューライトみたいですね。

あなたは親切なので、いいことを教えてあげます。
ちなみにSQLiteを日本語入力で変換すると、「SQLいて」になります。小文字のところでシフトキーをはなしてみてください。

125 :NAME IS NULL:2007/05/03(木) 22:48:48 ID:???
もっといいことを教えろ

126 :NAME IS NULL:2007/05/03(木) 23:11:49 ID:???
アクセスの方が使いやすい。

127 :NAME IS NULL:2007/05/04(金) 17:43:41 ID:???
標準偏差とかの関数ってあるの?

128 :NAME IS NULL:2007/05/04(金) 17:48:08 ID:???
アクセスにはあるんだけど、つかえないな

129 :NAME IS NULL:2007/05/04(金) 19:33:53 ID:???
自分で作ったって10秒くらいだろ

130 :NAME IS NULL:2007/05/04(金) 20:23:20 ID:???
作れません。

131 :NAME IS NULL:2007/05/04(金) 20:26:25 ID:???
>>130
可哀想にw

132 :NAME IS NULL:2007/05/04(金) 20:50:48 ID:???
SQLiteでは行を集計する関数は本当に作れないよ。
これは俺も昔やろうと思って気がついた。

133 :NAME IS NULL:2007/05/04(金) 21:02:33 ID:???
おいおい本当にアクセスより劣るのかよ。困るよ。しっかりしてくれよ。
もうアクセス使うことにする。

134 :NAME IS NULL:2007/05/04(金) 21:26:08 ID:???
自分でプログラムを書けない人ってデータベースに全てを頼ろうとするね。
まぁそういう奴の設計したデータベースなんてどうせ使い物にならんから
俺には関係ないけど。

135 :NAME IS NULL:2007/05/05(土) 00:00:39 ID:???
>>132
ソース公開されているんだから
自分で付け加えればいいじゃん?

136 :NAME 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って感じだね

137 :NAME IS NULL:2007/05/05(土) 00:11:28 ID:???
さすがだな

138 :NAME IS NULL:2007/05/05(土) 00:14:14 ID:???
なんだかよくわからんが凄い地震だ。

139 :NAME IS NULL:2007/05/05(土) 01:41:38 ID:???
>>132
独自の集約関数を作れないのはAccessの方だろ?

140 :NAME IS NULL:2007/05/05(土) 01:43:15 ID:???
↑アクセスに詳しそうな奴、登場

141 :NAME IS NULL:2007/05/05(土) 03:08:41 ID:???
そーいや、正規表現用の追加って、どこら辺の資料見れば出来る?


142 :NAME IS NULL:2007/05/05(土) 05:08:14 ID:???
久しぶりに来たが相変わらず信者とアンチの温度差が激しいスレだな。


143 :NAME IS NULL:2007/05/05(土) 08:47:16 ID:???
アクセスは既に用意されている。
sqliteは無いし、作れない。
大きな違いだと思うが。

標準偏差が使えないのは業務では厳しいと思うよ。

144 :NAME IS NULL:2007/05/05(土) 09:13:59 ID:???
アンチじゃないだろ。ただのキチガイ。

145 :NAME IS NULL:2007/05/05(土) 09:31:22 ID:???
標準偏差を作ってみたが、
こりゃ酷い。

やっぱアクセスでいくわ

146 :NAME IS NULL:2007/05/05(土) 09:43:54 ID:???
標準偏差の場合、Accessは標準でついているが、SQLiteはついていない。

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

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

ということでOK。

> 標準偏差を作ってみたが、
> こりゃ酷い。
自分で作った標準偏差機能が酷いのか?w
作れる事の証明にはなっているが。

147 :NAME IS NULL:2007/05/05(土) 12:29:10 ID:???
AccessをNGワードにすればいいのか

148 :NAME IS NULL:2007/05/05(土) 12:58:31 ID:???
カタカナで「アクセス」をNGワードにすればいいよ。

例のへたれは英語で書けないようだからw

149 :NAME IS NULL:2007/05/05(土) 16:53:16 ID:???
やっぱりァクセスのほうが優れてるよな。

150 :NAME IS NULL:2007/05/05(土) 18:39:17 ID:???
でもアクセス使ってるアプリって、全くないんだぜ。

151 :NAME IS NULL:2007/05/05(土) 20:38:47 ID:???
>>150
カップラーメンを使ってるアプリも見たことないな。
カップラーメンは駄目だな。
健康にも悪そうだし。

152 :NAME IS NULL:2007/05/05(土) 21:32:52 ID:???
○○を使うアプリが無いからと言って
駄目と言う事にはならんだろ!
その証拠にカップラーメンを使っているアプリも無い!

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

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

さすがアクセス厨は馬鹿だなぁ

153 :NAME IS NULL:2007/05/05(土) 21:41:09 ID:???
カップラーメンという愛称(?)の健康に悪そうなDBMSがきっとあるんだよ。俺は知らんけど。

154 :NAME IS NULL:2007/05/05(土) 22:15:45 ID:???
適材適所

155 :NAME IS NULL:2007/05/05(土) 22:51:17 ID:???
廃材集積所

156 :NAME IS NULL:2007/05/06(日) 00:28:25 ID:???
キャッチアンドリリース

157 :NAME IS NULL:2007/05/06(日) 00:50:04 ID:???
もずくはもくず

158 :NAME IS NULL:2007/05/06(日) 00:54:32 ID:???
LinuxやMacでAccessつかいたいんですが?
やっぱりAccessは糞ですか?
やめたほうがいいですか?

159 :NAME IS NULL:2007/05/06(日) 01:07:28 ID:???
LinuxやMacで使うのならお勧めできる

160 :NAME IS NULL:2007/05/06(日) 01:09:59 ID:???
ありがとうございます。
お勧めされた通りSQLiteを使います。
Accessは捨てました。

161 :NAME IS NULL:2007/05/06(日) 01:15:46 ID:???
Jet船越

162 :NAME IS NULL:2007/05/06(日) 16:10:39 ID:???
Googleが使ってるGoogsqleって何ベース?
自社開発?

163 :NAME IS NULL:2007/05/06(日) 16:16:50 ID:???
糞Accessでないことは確かだw

164 :NAME IS NULL:2007/05/06(日) 16:52:02 ID:???
GoogleはMySQLのパッチ出してるから、
ひょっとしたらMySQLベースかもな。

165 :NAME IS NULL:2007/05/06(日) 22:15:13 ID:???
だからGoogleはクソなんだ
Access使えばいいのに

166 :NAME IS NULL:2007/05/06(日) 22:27:11 ID:???
>>165
google と access にどんな関係があるんだ?

167 :NAME IS NULL:2007/05/06(日) 22:50:11 ID:???
ところでGoogleに対抗するために、MicrosoftとYahoo!が合併するらしいじゃないか。
是非とも新会社では素晴らしいAccessを全社的に使って頂きたいものだな。

168 :NAME IS NULL:2007/05/06(日) 23:03:35 ID:???
>>167
Google終わったなw

169 :NAME IS NULL:2007/05/06(日) 23:10:07 ID:???
業務システムでsqliteなんて使われてないし。
東証でもアクセスは使われているよ。マクも使われてない。

170 :NAME IS NULL:2007/05/06(日) 23:14:28 ID:???
数人同時にアクセスしたら
必ず壊れるアクセスが
使われているわけ無いだろw

171 :NAME IS NULL:2007/05/06(日) 23:16:01 ID:???
いや、東証システムの異常な性能の悪さを考えると、ありえないとは言えないぞ!

172 :NAME 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

173 :NAME IS NULL:2007/05/06(日) 23:28:22 ID:???
うまい具合に、アクセスは糞だと
また一つ広められたな。

俺の計算どおりの展開だw

174 :NAME IS NULL:2007/05/07(月) 01:38:53 ID:???
まぁ、こんなスレで広めなくても
ACCESSの壊れやすさはDB屋なら常識だな。

175 :NAME IS NULL:2007/05/07(月) 10:58:25 ID:???
CodeZine:SQLiteで組み込みDB体験(2007年版)(SQLite)
ttp://codezine.jp/a/article/aid/1252.aspx

176 :NAME IS NULL:2007/05/07(月) 16:15:10 ID:???
このスレはアンチアクセススレと改名しました

177 :NAME IS NULL:2007/05/07(月) 16:23:58 ID:???
業務システムでsqliteなんて使われてないし。
東証でもアクセスは使われているよ。マクも使われてない。


178 :NAME IS NULL:2007/05/07(月) 17:09:57 ID:???
>>177
>>169-176

179 :NAME IS NULL:2007/05/07(月) 17:17:00 ID:???
へえ

180 :NAME IS NULL:2007/05/07(月) 17:17:45 ID:???
東証はアクセスやめてフォックスプロにすればいいのにね

181 :NAME IS NULL:2007/05/07(月) 23:30:08 ID:???
ところでsqliteファイルを共有して、複数の蔵からアクセスするとファイルが壊れるけど仕様?

182 :NAME IS NULL:2007/05/07(月) 23:44:17 ID:???
さあ再現コードのお時間です

183 :NAME IS NULL:2007/05/07(月) 23:54:30 ID:???
>>181
そんな仕様ではないので運用の誤りを探すべき

184 :NAME IS NULL:2007/05/08(火) 00:56:45 ID:???
その程度で壊れるのはJetDBみたいな糞くらいだろ。

185 :NAME IS NULL:2007/05/08(火) 01:20:18 ID:???
ヒドい誤解をしているヤツがいるな。

186 :NAME IS NULL:2007/05/08(火) 02:37:45 ID:???
>>181
また嘘ですか?


アク○スは本当にそれで壊れるけどなwww

187 :NAME IS NULL:2007/05/08(火) 05:15:09 ID:???
SQLiteの辞書に出来ないとか不具合なんて言葉はありません

188 :NAME IS NULL:2007/05/08(火) 09:20:23 ID:???
>>187
くだらね。

189 :NAME IS NULL:2007/05/08(火) 10:43:34 ID:V80r1xg7
すんまそん。。

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

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

よろしくおながいします。m(_ _)m

190 :NAME IS NULL:2007/05/08(火) 13:39:42 ID:???
WS2003上のファイルをアクセスで共有してるけど壊れないよ?

191 :NAME IS NULL:2007/05/08(火) 13:41:10 ID:???
アクセスでファイルが壊れるかどうかなんて興味ありません

192 :189:2007/05/08(火) 13:52:42 ID:???
質問すれで聞いた方が良さそうなので、質問刷れに移動させていただきます。
スレ汚しスマソ。

アクセスが壊れやすいとは勉強になりましたw

193 :NAME IS NULL:2007/05/08(火) 16:27:35 ID:???
sqlite2から3にアップデートしたらファイル壊れたのは懐かしい思いで。

194 :NAME IS NULL:2007/05/08(火) 16:29:00 ID:???
超素人な質問なんですけど、100万件のデータ(40M)を
SELECT * FROM tablename ORDER BY no DESC LIMIT 2 OFFSET 3
で取り出してるんですが、凄く遅いんです。
普通はこんなものなのですか?

195 :NAME IS NULL:2007/05/08(火) 17:50:02 ID:???
>>194
アクセスで同じことして比較すればイイじゃん

196 :NAME IS NULL:2007/05/08(火) 18:35:19 ID:???
>>194
no には index 切ってる?

197 :194:2007/05/08(火) 18:48:58 ID:???
>>195
ちょっと今は比較できる環境がないんで

>>196
PRIMARY KEYですよね?やってるんですけどね。
SELECT * FROM tablename WHERE no = 1
これなら1秒ぐらいなんですけど…。

198 :NAME IS NULL:2007/05/08(火) 19:13:43 ID:???
つーか、全件フェッチしてるから遅いんだろ


199 :194:2007/05/08(火) 19:22:41 ID:???
>>198
ど、どうすればいいんでしょうか?

200 :NAME 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で指定した数以上のレコード返してくる。


201 :NAME IS NULL:2007/05/08(火) 19:28:18 ID:???
>>194
SELECT no FROM tablename ORDER BY no DESC LIMIT 2 OFFSET 3
でも遅いか?

202 :200:2007/05/08(火) 20:23:31 ID:???
ごめん200のSQL文も不正解だわ、つーか1文で済ます正解わかんね。

203 :NAME IS NULL:2007/05/08(火) 20:28:08 ID:???
order by でインデックスきんかね
btreeは利かないような気がしたが

idxchkでインデックス働いてるか調べてみ

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

どこか関係ないところにボトルネックが有るはず。

205 :NAME IS NULL:2007/05/08(火) 21:03:33 ID:???
>>203
order byでもインデックスは効く

206 :NAME IS NULL:2007/05/08(火) 23:25:22 ID:???
PCのスペック晒せって感じ。

207 :NAME IS NULL:2007/05/09(水) 08:48:39 ID:???
486DX memory 8M


208 :NAME IS NULL:2007/05/09(水) 16:20:40 ID:???
dbmagicでもつかってろ

209 :NAME IS NULL:2007/05/10(木) 02:08:36 ID:???
アクセス95なら問題無し。

210 :NAME IS NULL:2007/05/10(木) 02:13:06 ID:???
それ、現在手に入るのか?w

211 :NAME IS NULL:2007/05/10(木) 03:36:06 ID:???
他のSQLみたいに
WHERE date > 2007-05-01 08:10:52+09:00
と、日付フォーマットの文字列での比較を試みましたが、だめぽ。orz
やるとしたらエポック秒で記録するしかないのでしょうか?

212 :NAME IS NULL:2007/05/10(木) 07:07:26 ID:???
上のほうに出てた気がする

213 :NAME IS NULL:2007/05/10(木) 10:00:57 ID:???
文字列なら WHERE date > '2007-05-01 08:10:52+09:00' とかそういう話じゃないよね?
ハイ。失礼しました〜。

というわけで、 >>212 の言う通り、 >>56 からの一連のレスが参考になるかと。

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

どもうありがとでしたー

215 :194: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でやっています。
他の部分はデータベースを開く、閉じる程度しかやってないんですけど。
何か方法がおかしいんでしょうか…?

216 :NAME IS NULL:2007/05/10(木) 19:42:01 ID:???
確かに SQLite2 で試すと時間かかるねえ。そういうもんだっけか?

217 :NAME IS NULL:2007/05/10(木) 19:49:33 ID:???
時代は SQLite 5

218 :NAME IS NULL:2007/05/11(金) 00:32:27 ID:???
未来人ktkr

219 :NAME IS NULL:2007/05/11(金) 01:42:37 ID:m7WrnMvu
すみません。PHPをインストールしたら勝手にSQLiteが使えるようになっています。

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

サーバーのSQLiteはライブラリだけときいてますが、どうしてクライアントツールの方のSQLiteはサーバーと
交信できるのでしょうか?よろしくお願いします。

220 :NAME IS NULL:2007/05/11(金) 01:49:36 ID:???
クラサバ純粋培養かよ

221 :NAME IS NULL:2007/05/11(金) 10:52:41 ID:???
C#のSystem.Data.SQLiteの事はこのスレでいいんですかね。

222 :NAME 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)使用

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

sqliteってクライアントから接続できるの?

224 :NAME IS NULL:2007/05/11(金) 15:54:41 ID:???
アフォはおまえ。インテルはいってるし。あとSQLiteはクラサバじゃなくて単なるライブラリだ。

225 :NAME IS NULL:2007/05/11(金) 19:20:31 ID:???
>>222
いくらなんでもそれは何かの間違いだと思う。
そんなに遅かったらDBとして致命的。

226 :NAME IS NULL:2007/05/11(金) 20:15:52 ID:???
データの取得だけじゃなくて、データ転送+HTMLのレンダリング終了まで含めた時間なんじゃねーの?

227 :NAME IS NULL:2007/05/12(土) 01:26:58 ID:???
>221
前にも話題になったしいいんでないかな。
残念ながら俺は話題に乗れないけどorz 早くレガシVBから足洗いてぇ(でもどーせVB.netやらされんだきっと)

228 :NAME IS NULL:2007/05/12(土) 01:28:28 ID:???
>>219
交信の時点で吹いたwww

229 :NAME IS NULL:2007/05/12(土) 02:18:39 ID:???
>>219
> どうしてクライアントツールの方のSQLiteはサーバーと交信できるのでしょうか?

というのが何らかの錯誤によるもの。SQLite自身にはそのような機能はない

230 :NAME IS NULL:2007/05/12(土) 15:06:51 ID:???
マカって馬鹿だから今に始まったことでは無い。

231 :219:2007/05/12(土) 17:20:24 ID:???
なんで、だれもおしえてくれないんですか?クライアントツールのSQLiteはどうして
ライブラリ単体のDBに接続できるんですか?全然、ワケがわかりません。パスが通ってるとかなら
わかりますが、パスもくそもないですし。。お願いします。

232 :NAME IS NULL:2007/05/12(土) 17:46:34 ID:???
>>231
ライブラリ単体で動くSQLiteにクライアントもサーバも無いから。
サーバに相当する部分までライブラリに入っていて、
アプリケーションにそっくり組み込まれてしまう。
だからSQLiteは「組込み型」と呼ばれ、
MySQLやPostgreSQLのようなクライアント/サーバ型のDBMSと区別される。

233 :NAME IS NULL:2007/05/12(土) 19:05:17 ID:???
なぜ組み込み型の事例で真っ先に firefox を挙げられなかったんだろうか?

234 :219:2007/05/12(土) 20:09:37 ID:???
>>231
どうもありがとうございます。親切な方ですね。とりあえず、クライアントサーバーとは違うということは
よくわかりました。自分はまだ不勉強物ですので、はっきり理解はできませんが、回答してくれたことを
覚えておきたいとおもいます。

親切にありがとうございました。

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

カンマ区切りのcsvファイルを読み書きするのに
サーバとかクライアントなんて意識しないだろ?
それと一緒。

236 :NAME IS NULL:2007/05/13(日) 00:16:45 ID:???
要するにSQLiteにはDBMSのMS部分がごっそり抜けてるだけってことでもういいだろこのネタは

237 :NAME IS NULL:2007/05/13(日) 00:22:30 ID:???
>>236
馬鹿登場

238 :NAME IS NULL:2007/05/13(日) 04:08:09 ID:???
ここでアクセス厨登場


239 :NAME IS NULL:2007/05/13(日) 06:01:38 ID:???
Sqliteはメモリキャッシュ機構を持たないのでHDDがすぐ壊れる

240 :NAME 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文のときはこんな風に
?を使えないんでしょうか

241 :NAME IS NULL:2007/05/13(日) 11:43:43 ID:???
>>240
?の対象がテーブル名の場合に使えないんじゃないかな。
"SELECT * FROM hoge WHERE fuga = ?"
ならSELECT文でも使える。

242 :NAME IS NULL:2007/05/13(日) 18:41:46 ID:???
GUIでDB作れるアクセスが楽だわ。

243 :NAME IS NULL:2007/05/13(日) 19:01:14 ID:???
>>242
GUIでしかDBを作れない低脳か。
やっぱAccess厨は馬鹿しかいないんだな。

244 :NAME IS NULL:2007/05/13(日) 20:50:06 ID:d809YbuR
すみません。SQLiteをつかっているんですが、SQLiteの文字コードは何ですか?

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

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

よろしくお願いします。

245 :NAME IS NULL:2007/05/13(日) 21:06:10 ID:???
>>244
データ挿入時に使った文字コードじゃない?

246 :244:2007/05/13(日) 21:43:59 ID:d809YbuR
>>245
そうなんですか。ありがとうございます。じゃ、一度MySQLのほうにデータを
移してみます。

ありがとうございました。

247 :NAME IS NULL:2007/05/13(日) 23:08:15 ID:???
国際化されてないsqlite。
UTF8で統一されてるMySQLとアクセスは勝ち組。

248 :240:2007/05/13(日) 23:15:25 ID:???
>>241
回答どうもです
いろいろやってますが、おっしゃるようにそんな感じですね
where句は使わないのでsprintfでsql文作ることにします

249 :NAME IS NULL:2007/05/13(日) 23:40:11 ID:???
>>247
再び馬鹿登場

250 :NAME IS NULL:2007/05/14(月) 01:21:04 ID:???
誘蛾灯のようなスレだなw

251 :NAME IS NULL:2007/05/14(月) 15:38:47 ID:???
なんでSQLiteが目の仇にされてるのかがわからん。
殆どのSQLiteユーザーって他のDBMSも使ってるんじゃないの?
SQLiteでいいならそうしてるだけで。

252 :NAME IS NULL:2007/05/14(月) 15:41:09 ID:???
>>251
キチガイの考えを推測するのはやめておけ。感染するぞ。

253 :NAME IS NULL:2007/05/14(月) 20:27:47 ID:Jn92LTQp
最初にテーブルを作ったものは、test.sqliteとテーブルのファイルがありますが、
後にbunruiテーブルをつくったのですが、ファイルもありませんし、PHPからもアクセスできません。

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

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

.sqliteファイルがないということは、テーブル作成にうまくいっていないのですか?

254 :NAME IS NULL:2007/05/14(月) 20:53:29 ID:???
>>253
1ファイル1テーブルと勘違いしていないか?

255 :253:2007/05/14(月) 21:27:28 ID:Jn92LTQp
>>254
そうですね。1DB1ファイルですね。僕の勘違いでした。

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

どうもありがとうございます。

256 :NAME 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";

好きなのを使え


257 :NAME IS NULL:2007/05/16(水) 01:30:22 ID:???
時代はJISだ

258 :NAME IS NULL:2007/05/16(水) 01:33:49 ID:???
メールの文字化けは避けたいからな。

259 :NAME IS NULL:2007/05/16(水) 23:26:10 ID:???
sqliteでupsertできる?
やっぱりできないよな。

oracle最強


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

261 :NAME IS NULL:2007/05/17(木) 03:16:05 ID:???
>>259
忠告

調べてから書くようにすると、恥をかかなくてすむよ


262 :NAME IS NULL:2007/05/17(木) 09:49:08 ID:???
>>259
INSERT OR REPLACE とか?

263 :NAME IS NULL:2007/05/17(木) 12:27:43 ID:???
似てるけど、厳密には違うな

264 :NAME IS NULL:2007/05/17(木) 13:00:50 ID:???
>>263
kwsk

265 :NAME IS NULL:2007/05/17(木) 13:15:38 ID:???
なんでもいいけど、
先に目的があってそれを実現するための手段だろ。
目的不明で手段の比較しても無意味。

266 :NAME IS NULL:2007/05/17(木) 14:00:45 ID:???
目的:トラウマになったソフトを誹謗中傷して魂の平穏を得る事
手段:あくせしゅとおらこーをほめたたえる

267 :NAME IS NULL:2007/05/17(木) 14:04:32 ID:???
別に目的はおいといて手段の比較だけするのも意味なくはないんじゃない。

268 :NAME IS NULL:2007/05/17(木) 14:11:05 ID:???
>>267
機能比較の一覧表でも作るなら意味はあるが、
個別の機能を唐突に取り出して比較するのは無意味。
ていうかキチガイの行動に意味も何もあるかよw

269 :NAME IS NULL:2007/05/17(木) 14:40:10 ID:???
Oracleのupsert相当の処理をSQLiteでどう書くか説明されると何か困ることでもあるのか?>>268=259

270 :NAME IS NULL:2007/05/17(木) 14:46:42 ID:???
replace into構文を知らんとは、
ドキュメントを読んでない証拠だな。

271 :NAME IS NULL:2007/05/17(木) 14:49:51 ID:???
>>270
読んでみたけど INSERT OR REPLACE とどう違うかわからない。

272 :NAME IS NULL:2007/05/17(木) 17:13:53 ID:???
同じなら消すんだろ。そして入れるんだろ
他方は同じなら書くんだろ


273 :NAME IS NULL:2007/05/17(木) 17:24:53 ID:???
>>272
そうなの?
「The REPLACE command is an alias for the "INSERT OR REPLACE"」
ってあるから同じものかと思ってた。

274 :NAME IS NULL:2007/05/17(木) 19:15:22 ID:???
よそでバカにされまくってるよ、このスレ

275 :NAME IS NULL:2007/05/17(木) 19:20:52 ID:???
ふーん

276 :NAME IS NULL:2007/05/17(木) 19:42:34 ID:???
生産性のあるレスが2割ぐらいしかないからな。

277 :NAME IS NULL:2007/05/17(木) 19:49:37 ID:???
UNIX板じゃ普通

278 :NAME IS NULL:2007/05/18(金) 00:18:30 ID:???
>>276
2割ってのは実は2chの平均くらいじゃないのか…?

279 :NAME IS NULL:2007/05/18(金) 00:39:45 ID:???
2割もあったら良スレどころか神スレの域

280 :NAME IS NULL:2007/05/18(金) 01:55:33 ID:???
結局upsertがSQLiteのINSERT OR REPLACEとの違いを説明できないのかw

281 :NAME IS NULL:2007/05/18(金) 07:36:33 ID:???
ふつうmergeつかうだろ

282 :NAME IS NULL:2007/05/18(金) 08:40:27 ID:???
>>280
タカ AND トシ

283 :NAME IS NULL:2007/05/19(土) 02:01:34 ID:???
updateをほとんど発行してない場合は、vacuumする意味ないっすよね?

284 :NAME IS NULL:2007/05/19(土) 02:02:15 ID:???
>updateとdelete

285 :NAME IS NULL:2007/05/20(日) 00:59:00 ID:???
まあマカはオラクルなんて使ったことないだろうしな。

286 :NAME IS NULL:2007/05/20(日) 01:22:05 ID:???
sqliteって暗号化できる?
自前で入れるデータを暗号化するしかないの?w

287 :NAME IS NULL:2007/05/20(日) 02:06:46 ID:???
有料版なら暗号化サポートしとるよ。

というか、オープンソースなんだから
ない機能は作ればいいだけ。


288 :NAME IS NULL:2007/05/20(日) 02:08:49 ID:???
有料版?

289 :NAME IS NULL:2007/05/20(日) 05:51:33 ID:???
無料版使ってる貧乏人キター

290 :NAME IS NULL:2007/05/20(日) 13:37:32 ID:???
マカは貧乏人。
OSもソフトもフォントも割れ。

291 :NAME IS NULL:2007/05/20(日) 17:28:36 ID:???
へぇ。フォント〜。

292 :NAME IS NULL:2007/05/20(日) 21:59:59 ID:???
アクセスなら有料で安心だ。

293 :NAME IS NULL:2007/05/20(日) 23:00:49 ID:???
>292
余剰予算の消化に最適ですね。

294 :NAME IS NULL:2007/05/22(火) 01:20:42 ID:???
つーか、オフィスプロぐらい普通に予算取れるよな。
マカってオフィスも買えないほど低予算なのか?

295 :NAME IS NULL:2007/05/22(火) 01:26:17 ID:???
公務員乙

296 :NAME IS NULL:2007/05/24(木) 00:29:58 ID:???
公務員ほど林檎信仰。能力低いからな。税金で買うから値段高くても気にしないし。

297 :NAME IS NULL:2007/05/27(日) 16:28:47 ID:???
夕張感覚の公務員なんていくらでも居るしなあ。
税金だからって好きに使ってる。

298 :NAME IS NULL:2007/05/27(日) 16:35:49 ID:???
税金好きに使えなきゃ公務員になった意味がねーだろw

299 :NAME IS NULL:2007/05/27(日) 17:23:47 ID:???
税金だけならいいんだけど他人に借金させてまで自分が欲しいもの買うなよって言いたい。
すれ違いだけど

300 :NAME IS NULL:2007/05/27(日) 17:53:02 ID:???
コスト削減して税率下げて、納税者の負担を減らそうと言う気がないって話。
行政も民間みたいに競争しないと努力しないから駄目だよな。

301 :NAME IS NULL:2007/05/27(日) 20:36:43 ID:???
>>300
Access使わないでSQLite使えって話?

302 :NAME IS NULL:2007/05/28(月) 02:16:22 ID:???
>>301
公務員がうらやましいって話だよ

303 :NAME IS NULL:2007/05/29(火) 07:10:18 ID:???
まあマカはウィンドウズがうらやましいって話だろ。

304 :NAME IS NULL:2007/05/29(火) 19:07:13 ID:???
俺のマラも嫁のウィンドウズ大好きだよ

305 :NAME IS NULL:2007/05/31(木) 02:29:13 ID:???
やっぱりアクセスが使えるウィンドウズが最強(w

306 :NAME IS NULL:2007/05/31(木) 03:36:18 ID:???
何でアクセス厨はSqliteスレにしか出張してこないんだろう

307 :NAME IS NULL:2007/05/31(木) 06:44:40 ID:???
アクセスはネタだろうて

308 :NAME IS NULL:2007/05/31(木) 06:53:45 ID:???
sqlite2のDBファイルが読めないなんて、アクセスにも劣る互換性だからじゃね?

309 :NAME IS NULL:2007/05/31(木) 11:30:38 ID:???
いいかげん飽きたよな。ループループ。


310 :NAME IS NULL:2007/05/31(木) 13:27:31 ID:???
第3回 オープンソースの組み込みDBを使ってみよう:ITpro
http://itpro.nikkeibp.co.jp/article/COLUMN/20070529/272887/

311 :NAME 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って最高!


312 :NAME IS NULL:2007/05/31(木) 15:29:25 ID:???
ACCESS厨は適材適所という言葉を知らんからな。

313 :NAME IS NULL:2007/05/31(木) 19:46:14 ID:???
主役よりも名脇役だよな。

314 :NAME IS NULL:2007/06/01(金) 06:32:20 ID:???
つまり検索にしか使えないってことか。
select専用のデータベースですね。

315 :NAME IS NULL:2007/06/01(金) 10:03:45 ID:???
> つまり

kwsk

316 :NAME IS NULL:2007/06/01(金) 11:37:13 ID:PYRR3Wei
sqlite3のデータをsqlite2にインポートすることって可能なんでしょうか?
もしくは、sqlite2の管理ソフトってありますでしょうか?
3の管理ソフトはいくつか見つかったのですが・・・。
よろしくおねがいします。

317 :NAME IS NULL:2007/06/01(金) 14:06:27 ID:???
1可能。
2ある。

318 :NAME 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経由で適当なソフトから
両バージョン扱える。


319 :NAME IS NULL:2007/06/01(金) 15:06:17 ID:PYRR3Wei
>>318
TkSQLiteというソフト使ってみたんですけど、
CSVやSQL文で出力はできるんですけど、sqliteデータベースファイルが作れません・・・。
アタッチとかデタッチというメニューから保存するんでしょうか?
どちらも選択するとエラーが出ちゃいます。
アタッチすると、missing close-bracket
デタッチすると、invalid command name "-detail"
とエラーになっちゃいます。
どなたかご教授お願いいたします。。

320 :NAME IS NULL:2007/06/01(金) 15:55:17 ID:???
dbを別名で保存、バージョンを変えて保存はできない。

Export (SQL)

New SQLite2DB

Import (SQL)


321 :NAME IS NULL:2007/06/01(金) 16:30:45 ID:???
「db が壊れてしまいました」という報告をてぐすね引いて待っているアクセス厨乙。

322 :NAME IS NULL:2007/06/01(金) 18:48:33 ID:???
>>319
1、3のデータベースファイルを開く
2、SQLでエクスポートする
3、3のデータベースファイルを閉じる
4、2のデータベースファイルを新規作成する
5、SQLをインポートする


323 :NAME 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氏は述べる。

全文検索キタ━━━━━━(゚∀゚)━━━━━━ !!!!!

324 :NAME IS NULL:2007/06/02(土) 09:17:25 ID:Xn9CYp5P
TkSQLiteってすげえな!
やっぱGUIつええ 俺へっぽこすぎ

325 :NAME IS NULL:2007/06/02(土) 14:13:56 ID:???
SQLiteってフルテキスト検索既についてたような

326 :NAME IS NULL:2007/06/02(土) 20:23:10 ID:???
SQLite Users にも Google 社員がよく投稿してるしな。
fts に Google 社員が関わってるんでしょ。


327 :NAME IS NULL:2007/06/02(土) 20:46:20 ID:???
Googleも地に落ちたなw

328 :NAME IS NULL:2007/06/02(土) 23:08:23 ID:???
>>323
でもSQLiteはパブリックドメインなので、
全文検索がついたSQLiteはクローズドソースなのでした。

329 :NAME IS NULL:2007/06/03(日) 00:40:17 ID:???
まあ日本語の全文検索は出来ないって罠だろう。
出来たとしても、sjis/jis/euc/utfで4回検索して実用的速度じゃない悪寒。
sqliteを4スレッドで起動してパラレルで検索するので4以上のパイプライン環境限定とかな(w

330 :NAME IS NULL:2007/06/03(日) 00:41:27 ID:???
>>329
> 出来たとしても、sjis/jis/euc/utfで4回検索して実用的速度じゃない悪寒。

そういう問題じゃねーだろ。w

331 :NAME 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 バインディングが...

332 :NAME IS NULL:2007/06/03(日) 02:16:32 ID:???
形態素解析とかの部分は比較的簡単に差し替えれるのかな。
であれば日本人にも良さげ。

>>329
アフォ過ぎる。ワロタ。

333 :NAME IS NULL:2007/06/03(日) 14:01:40 ID:???
やっぱり日本語で検索できるアクセスは最強だ。

334 :NAME IS NULL:2007/06/03(日) 15:46:05 ID:???
Access にフルテキストインデックスってあったんだっけ?

335 :NAME IS NULL:2007/06/03(日) 15:46:37 ID:???
アホに触っちゃ駄目だって。
カタカナのAccessはNGワードにすればいい。

336 :NAME IS NULL:2007/06/03(日) 17:31:31 ID:???
インデクス無しで検索できるのがアクセス。
sqliteとは違うのだよ。

337 :NAME IS NULL:2007/06/03(日) 18:13:19 ID:???
>>336 もいろいろ大変なんだな…
でも生きていればきっといいことあるよ!

338 :NAME IS NULL:2007/06/03(日) 18:23:28 ID:???
それはどうかな

339 :NAME IS NULL:2007/06/03(日) 21:23:00 ID:???
Accessでいわゆる「半角カナ」限定の検索をしようとすると地獄を見る


340 :NAME IS NULL:2007/06/03(日) 23:32:43 ID:???
むしろ半角仮名に弱いのはsqliteだったり。
sjisの機種依存文字を使いまくると問題でまくり。

341 :NAME IS NULL:2007/06/04(月) 00:01:53 ID:???
なんで SQLite スレで sjis の話が出てくる。一体どんな使い方しとんねん。
あと、半角仮名の話と機種依存文字の話を混同しないように。

342 :NAME IS NULL:2007/06/04(月) 00:19:22 ID:???
つ 携帯

343 :NAME IS NULL:2007/06/04(月) 01:56:59 ID:???
普通はバッグエンドはUNICODE系を使って
表示するときにSJISに変換するものだと思っていたが?

344 :NAME IS NULL:2007/06/04(月) 03:23:33 ID:???
>>339-340
どちらも使い方が悪いだけ。AccessでもSQLiteでも馬鹿が使えばボロボロなのは同じ。

345 :NAME IS NULL:2007/06/04(月) 06:11:50 ID:???
マカの使い方は異常。

346 :NAME IS NULL:2007/06/04(月) 08:44:04 ID:/50+iam1
初歩的な質問だったら申し訳ないですが、
SQLiteって、一般的には何と発音しますか?
「えすきゅーらいと」でいいんでしょうか?

347 :NAME IS NULL:2007/06/04(月) 08:45:37 ID:MNYsmZdC
>>346
しーくらいと!!しーくらいと!!

348 :NAME 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/sqlite-users@sqlite.org/msg16344.html


349 :NAME IS NULL:2007/06/04(月) 12:08:49 ID:???
新めのスレッドあった。
ttp://www.mail-archive.com/sqlite-users@sqlite.org/msg23687.html

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



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












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

これに関してはよくわからないな。どういう環境で使ってるのか知らないし
どのバージョンを使ってるのかも知らないが、たぶんSQLiteのバンディング側の
問題なのでは?

352 :NAME IS NULL:2007/06/04(月) 22:09:41 ID:???
340にツっこんだら負けだと思ってたんだが

353 :NAME IS NULL:2007/06/05(火) 01:27:08 ID:???
携帯の機種依存に対応してないsqliteが悪い。

354 :NAME IS NULL:2007/06/05(火) 01:42:25 ID:???
ダメだ、ここは釣り師が多すぎてつい釣られそうに…

355 :NAME IS NULL:2007/06/05(火) 01:56:10 ID:???
携帯の機種依存?
機種依存文字はすべて、UTFにコード割り当てされてるじゃん。

>>353は馬鹿?


356 :NAME IS NULL:2007/06/05(火) 02:03:18 ID:???
よく釣れるな

357 :NAME IS NULL:2007/06/05(火) 06:28:08 ID:???
その割当が、sjis→utfとutf→sjisじゃ一致しない糞だし。orz

358 :NAME IS NULL:2007/06/05(火) 08:28:04 ID:b61KR+VG
ところでみんなSQLite何に使ってるの?

359 :NAME IS NULL:2007/06/05(火) 08:32:40 ID:???
>357
そりゃ、変換にはマップ使わなきゃ無理だろ。つーか、それはSQLiteは関係ない。

360 :NAME IS NULL:2007/06/05(火) 10:30:43 ID:???
>>358 エロ画像収拾スクリプトのバックエンド

361 :NAME 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してました。

362 :NAME IS NULL:2007/06/05(火) 14:56:20 ID:???
>>361
.NETは知らんけど、明示的にトランザクション開始したらいいじゃないか。

363 :NAME IS NULL:2007/06/05(火) 15:11:17 ID:???
2003なら分かるが、2005は分からんな。

364 :NAME 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ね。


365 :NAME IS NULL:2007/06/05(火) 22:48:32 ID:???
>>358
Webサーバとかメールサーバとかのログの解析

366 :NAME IS NULL:2007/06/06(水) 00:28:13 ID:???
未だにレガシASPからMDB叩いてるという化石のようなシステム保守してる身からは
来る64bit化の荒波への最後の砦かも

367 :NAME IS NULL:2007/06/06(水) 11:08:16 ID:???
>366
mdbって複数アクセスでこわれないように作れるもんなの?

368 :NAME IS NULL:2007/06/06(水) 11:10:58 ID:???
まだMSDE使った方がマシだな。

369 :NAME 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とも連携して開発して行く見たいだね。

370 :NAME 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


371 :NAME IS NULL:2007/06/12(火) 22:10:25 ID:???
strip してもだめなん?

372 :NAME 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:???


374 :NAME IS NULL:2007/06/14(木) 18:28:49 ID:1Fp9liIj
SQLite3を利用しています。
PRIMARY KEYにAUTOINCREMENTを指定していて、テーブル内の
全てのデータを削除した時にAUTOINCREMENTの値を1からカウントに
初期化したいのですが、どうすれば良いのでしょうか?

375 :NAME IS NULL:2007/06/14(木) 20:59:40 ID:???
>>374
アクセスに乗り換える


376 :NAME IS NULL:2007/06/14(木) 21:02:14 ID:???
>>374
テーブル作り直せばあ・・・

377 :374:2007/06/14(木) 22:41:42 ID:???
レスありがとう。テーブル作り直します。orz

378 :NAME IS NULL:2007/06/15(金) 06:28:31 ID:???
>>374
UPDATE sqlite_sequence SET seq=1 WHERE name='mytabe'


379 :374:2007/06/15(金) 08:25:47 ID:???
レスありがとう。テーブル作り直さずに済みました。^^

380 :NAME IS NULL:2007/06/15(金) 19:30:07 ID:???
rowidってupdate出来るのなw

381 :NAME IS NULL:2007/06/16(土) 00:17:35 ID:???
やっぱり初心者にはアクセスが向いてるよな。


382 :NAME IS NULL:2007/06/16(土) 09:35:47 ID:???
そうだね。
けど作ってるときに思うんだよ、アクセス止めときゃ良かったって。

383 :NAME IS NULL:2007/06/16(土) 15:57:02 ID:???
SQLite3で、PRIMARY KEYにAUTOINCREMENTを指定した場合
索引が作られていないようですが、これって仕様ですか?
もちろん、このPRIMARY KEYで検索したらフルスキャンですよね?

384 :NAME IS NULL:2007/06/16(土) 21:30:45 ID:???
でもsqliteの糞ぶりに比べればマシだが。

385 :NAME IS NULL:2007/06/16(土) 21:38:24 ID:???
>>383
お前は本気で言ってるのか?

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

ROWID による検索はインデックススキャンと同じ。


386 :NAME IS NULL:2007/06/17(日) 12:10:49 ID:???
3.4.0!

387 :NAME IS NULL:2007/06/17(日) 14:02:22 ID:???
相変わらず2.x時代のdbファイルを読ませると破壊してくれるな。orz

388 :NAME IS NULL:2007/06/17(日) 14:06:04 ID:???
君の環境だけだなw

389 :NAME IS NULL:2007/06/17(日) 15:24:39 ID:???
破壊してくれるって言う奴いるけど
3.xで実行して読み込めないだけじゃなくて
2.xで実行したとき読み込めなくなっているのかと。

390 :NAME IS NULL:2007/06/17(日) 15:43:55 ID:???
よく知らねーけど「破壊」って言ってるんだから後者なんじゃネーノ?

391 :NAME IS NULL:2007/06/17(日) 15:48:57 ID:???
387の脳内以外ではそんなこと起きないけどね

392 :NAME IS NULL:2007/06/17(日) 17:09:10 ID:???
漏れ SQLite3 しか関わったこと無いんだけど、
SQLite2 も利用する機会ってどういうケースがあるの?

393 :NAME IS NULL:2007/06/17(日) 17:55:55 ID:???
おまえらなんで真面目に相手してるの?バカ?

394 :NAME IS NULL:2007/06/17(日) 18:23:18 ID:???
dbファイルと言ってるからバークレイDB2.xのファイルなんだろ

395 :NAME IS NULL:2007/06/17(日) 19:09:07 ID:???
>>392
SQLite2のファイルは破壊されると信じてる人がSQLite2のファイルを扱うとき、じゃないかなw

396 :NAME IS NULL:2007/06/17(日) 19:30:28 ID:???
いつまでたっても第三者が再現できる情報を出さない時点で説得力なんて皆無だしな

397 :NAME IS NULL:2007/06/17(日) 22:19:02 ID:???
昔作ったsqlite2のファイルがあるんだよ。
最近使い始めた香具師は、sqlite3からしかデータ持ってないから幸せ回路全開だろうけど。

398 :NAME IS NULL:2007/06/17(日) 22:20:15 ID:???
昔(脳内で)作ったsqlite2のファイルが(脳内に)あるんだよ。
俺の脳も回路全開なんだよ。

399 :NAME IS NULL:2007/06/17(日) 22:21:12 ID:???
脳が壊れたら、そりゃ脳内のDBも壊れる罠

400 :NAME IS NULL:2007/06/18(月) 01:44:26 ID:???
読ませるも糞も、3から2のファイルは元々読めない訳だが

401 :NAME IS NULL:2007/06/18(月) 03:27:16 ID:4buWPSB1
>>386
Documentation updates in preparation for 3.4.0. By drh.

402 :NAME IS NULL:2007/06/18(月) 16:19:35 ID:???
もうバージョンアップしないで枯れてほしい・・・。
ファイルの細かい互換性の違いが短期間に起きるのやめてほしい・・・。

403 :NAME IS NULL:2007/06/18(月) 17:40:26 ID:???
おまえの蛆虫並みの脳には短期間だろうが、常人には普通

404 :NAME IS NULL:2007/06/18(月) 17:44:42 ID:TAbOUre7
開発速度が速いと思う。
ファイルの細かい互換性に問題がある場合もあると思う。
むしろ、今回のバージョンアップは間があきすぎ。
今やってる部分って面白い機能が多い。
wktkして待ってるのに・・・

405 :NAME IS NULL:2007/06/19(火) 02:45:06 ID:???
まあすぐに3.4.1出るから見てろよ。本当にリリース管理は適当なんだから。

406 :NAME IS NULL:2007/06/19(火) 02:45:53 ID:???
Accessで直接ファイルを開けたら便利なのに。
DB鯖からのデータの出し入れしたりとかラクラク操作で使いたいんだけど。

407 :NAME IS NULL:2007/06/19(火) 06:18:27 ID:???
開けるだろ

408 :NAME IS NULL:2007/06/19(火) 09:14:34 ID:???
馬鹿にはODBCすら使えないんだろう。

409 :NAME IS NULL:2007/06/19(火) 12:45:13 ID:???
使えネ

410 :NAME IS NULL:2007/06/19(火) 18:47:07 ID:???
使い分けろやw

411 :NAME IS NULL:2007/06/19(火) 19:33:55 ID:1cI0FWog
3.4がまだ出てないのに、3.4.1の話。

412 :NAME IS NULL:2007/06/19(火) 19:37:27 ID:???
>>411
>>411
>>411
>>411

413 :NAME IS NULL:2007/06/19(火) 19:48:55 ID:1cI0FWog
>>412
なに?

414 :NAME IS NULL:2007/06/19(火) 19:50:55 ID:???
2007-Jun-18 - Version 3.4.0

415 :NAME IS NULL:2007/06/19(火) 20:12:48 ID:1cI0FWog
ほんとだ!

416 :NAME IS NULL:2007/06/20(水) 00:12:56 ID:???
>>415
お前は当分 ROM ってろ。

417 :NAME IS NULL:2007/06/20(水) 00:36:16 ID:???
マカウザい。

418 :NAME IS NULL:2007/06/21(木) 13:04:17 ID:???
2007-Jun-18 - Version 3.4.0
久しぶりのアップデートだな。ちょっと様子見。

419 :NAME IS NULL:2007/06/21(木) 19:57:02 ID:???
お前ら全員カスだな

420 :NAME IS NULL:2007/06/22(金) 06:18:43 ID:???
やっぱりウィンドウズ使ってる方がまともだな。

421 :NAME IS NULL:2007/06/22(金) 18:04:30 ID:4yx4LY9x
確かに、「SQLite 破壊」で検索すると結構な量の事例が出てくる。

422 :NAME IS NULL:2007/06/22(金) 18:11:18 ID:???
>>421
ずいぶん変わった検索サイトを使ってるようだな

423 :NAME IS NULL:2007/06/22(金) 23:11:52 ID:???
「アクセス 破壊」

424 :NAME IS NULL:2007/06/23(土) 01:09:19 ID:???
そーいえば、Updateしたらガンガン破壊したって事例があったな >> あくせす

425 :NAME IS NULL:2007/06/23(土) 01:12:21 ID:???
「oracle 破壊」

426 :NAME IS NULL:2007/06/23(土) 08:53:30 ID:???
アクセスなら2007でも95のファイルが読めるけどな。

427 :NAME IS NULL:2007/06/23(土) 10:42:52 ID:???
AccessとJetDBはゴミだけどな。

428 :NAME 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が圧勝

429 :NAME IS NULL:2007/06/23(土) 18:33:34 ID:zO59Z1T1
>>428
中身を見れば意味が分かる。
破壊された事例と、破壊されると思ったが破壊されなかったという喜びの事例。
大きな違いがある。
残念ながらSQLiteは破壊された事例が・・・

430 :NAME IS NULL:2007/06/23(土) 18:43:11 ID:???
見つかる事例って、ほとんどがこのスレの「SQLite 2のDBが壊れた」君だね

431 :NAME IS NULL:2007/06/23(土) 18:45:16 ID:???
風説の流布ですか

432 :NAME IS NULL:2007/06/23(土) 19:21:15 ID:zO59Z1T1
どういう条件で破壊されるのか既知なんだから調べればいいのに。
風説とか何とか書いてるのが限界になってるかもね。

433 :NAME IS NULL:2007/06/23(土) 19:35:47 ID:???
どういう条件で破壊されるのか既知なら風説の流布とか言われないのに

434 :NAME IS NULL:2007/06/23(土) 19:48:29 ID:???
そもそも脳が壊れてるんだからDBが壊れているかどうか判断つかないだろ

435 :NAME IS NULL:2007/06/23(土) 23:09:25 ID:???
>>428
マジレスするのもなんだが、
accessだとMS Access以外も拾うぞ。

436 :NAME IS NULL:2007/06/24(日) 00:02:22 ID:???
壊れてないのに・・・。ただ3で2のファイルを開けないだけ・・・。

437 :NAME IS NULL:2007/06/24(日) 00:03:15 ID:???
ていうか全般的に日本人のレベル低すぎね・・・。
ここには詳しい人も数人いるみたいだけど。

438 :NAME IS NULL:2007/06/24(日) 07:18:57 ID:???
開けるけど、そのまま書いたらファイルが壊れる。
sqlite2のことは全く無視する悪い子です。

439 :NAME IS NULL:2007/06/24(日) 09:02:31 ID:ppVYIGey
3.4.0はかなり変更があったので対策が必要。

440 :NAME 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
%


441 :NAME IS NULL:2007/06/24(日) 11:15:47 ID:???
「Access 修復」の検索結果見たら
泣けてきたw

442 :NAME IS NULL:2007/06/24(日) 11:21:22 ID:1tDw2dkS
>>428
googoleで
「PostgreSQL 破壊」が71,000件
「Postgre 破壊」が315件

?????

443 :NAME IS NULL:2007/06/24(日) 11:53:51 ID:???
>>437
キチガイを基準に日本人を語られても…
そもそも日本人かどうかも怪しいしw

444 :NAME IS NULL:2007/06/24(日) 11:55:01 ID:???
おっと、気違い本人にレスしちまった。汚れちゃったよ。

445 :NAME IS NULL:2007/06/24(日) 12:53:29 ID:???
だから元々3から2のDBは読めないっつーの。
壊れてるのは馬鹿の脳内だけ。

446 :NAME IS NULL:2007/06/24(日) 14:10:31 ID:???
そしてsqlite2のDBファイルが壊れていてorz

447 :NAME IS NULL:2007/06/24(日) 14:19:26 ID:???
脳が壊れるのとDBが壊れるのは等価なんだお

448 :NAME IS NULL:2007/06/24(日) 15:55:10 ID:???
ttp://www.wpdev.org/wiki/index.php/Convert_sqlite2_to_sqlite3_format

449 :NAME IS NULL:2007/06/24(日) 16:45:20 ID:???
何その怪しすぎるページ。

450 :NAME IS NULL:2007/06/26(火) 14:22:09 ID:???
Safari の設定にも SQLite3 が。

451 :NAME IS NULL:2007/06/27(水) 19:15:50 ID:???
SQLiteの使い方について詳しく教えてくれるHPってどっかにありませんか?
あったら教えて下さい。

452 :NAME IS NULL:2007/06/27(水) 20:33:02 ID:???
>>451
http://www.sqlite.org/

453 :NAME IS NULL:2007/06/30(土) 11:20:05 ID:???
マカはウザイ。

454 :NAME IS NULL:2007/07/03(火) 05:41:31 ID:???
iPhone にも SQLite 3.1.3 が使われてるらしいな。


455 :NAME 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とか魔法みたいに便利なんだけど

456 :NAME IS NULL:2007/07/03(火) 14:33:48 ID:???
>>これに相当するSQLもしくはmysql
とりあえずこの部分にもんのすごい違和感を感じた事を報告します。

457 :NAME IS NULL:2007/07/03(火) 15:36:00 ID:???
ORM 脳の恐怖を垣間見た気がした。

458 :NAME IS NULL:2007/07/03(火) 15:56:28 ID:???
ぱいぱいそん

459 :NAME IS NULL:2007/07/03(火) 16:45:18 ID:???
>>458
ばいきんまんみたいでいいな

460 :NAME IS NULL:2007/07/03(火) 16:52:46 ID:???
おまいら、正直に白状しろ。「質問の意味がさっぱり理解できない」とな。

461 :NAME IS NULL:2007/07/03(火) 18:15:44 ID:???
質問の意味はわかるけど、答えがさっぱりわかりません!

462 :NAME IS NULL:2007/07/03(火) 21:51:28 ID:???
>>461
>これに相当するSQLもしくはmysqlってどんなのですか?
の説明お願い

463 :NAME IS NULL:2007/07/03(火) 22:29:19 ID:???
>>460
別に隠すつもりはないが、さっぱりわからない

464 :NAME IS NULL:2007/07/04(水) 00:36:16 ID:???
マカって頭悪いね。
日本で売ってない時点で負け。

465 :NAME IS NULL:2007/07/04(水) 02:03:14 ID:???
>>464
あんた欲しいのかw

466 :NAME IS NULL:2007/07/04(水) 09:12:07 ID:???
http://www.suntory-kenko.com/maca/prod.html?key=20
売ってるじゃん。

467 :NAME IS NULL:2007/07/07(土) 10:29:36 ID:???
マカって馬鹿だな(w

468 :NAME IS NULL:2007/07/09(月) 12:49:38 ID:???
V2にeuc-jpでデータ格納してるのをutf-8にポロっと3秒くらいで変換して
くれるようなツールはないかな
コード書くのもマンドクサなんだが

469 :NAME IS NULL:2007/07/09(月) 13:12:44 ID:???
dumpしてnkf通して読み直せばいいんでないの?

470 :NAME IS NULL:2007/07/09(月) 17:39:57 ID:???
Windowsでsqlite3.dll使ってるけど
DBファイルのパスに日本語が入ってるとDBをオープンできないのは仕様?

471 :NAME IS NULL:2007/07/09(月) 18:34:47 ID:???
しようがない。

472 :NAME IS NULL:2007/07/09(月) 22:25:20 ID:???
元防衛大臣乙

473 :NAME IS NULL:2007/07/09(月) 23:51:13 ID:???
Windowsなら、dllを食べずにソースからBuildすればいいじゃない?

474 :NAME IS NULL:2007/07/10(火) 01:29:26 ID:???
開発してる英語圏の香具師が、日本語のフォルダの環境をテストできる訳ないと想像できない所がマカらしいな。

475 :NAME IS NULL:2007/07/10(火) 01:29:36 ID:???
ソースからBuildするとどう解決するの?

476 :NAME IS NULL:2007/07/10(火) 02:44:54 ID:???
tksqliteだと日本語パスでも開けるぜ・・・。dllの使い方間違えてるだけじゃないのか・・・。

477 :NAME IS NULL:2007/07/10(火) 03:09:07 ID:???
パッチは自分で当てンだよ。このハゲ。

478 :NAME IS NULL:2007/07/10(火) 03:12:39 ID:???
>>470
使う関数による。

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

sqlite3_open() を使うなら UTF-8 に変換してから入れろ。


479 :NAME IS NULL:2007/07/10(火) 10:20:06 ID:???
>>478
UTF-8 に変換してsqlite3_open()でいけました。
つかドキュメントのsqlite3_open()の項に書いてあったのに後で気づいたorz
たすかりました


480 :NAME 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


481 :NAME IS NULL:2007/07/11(水) 03:53:58 ID:???
sqlite3_open16()使えばいいじゃん。他の文字列の問題もあるからUnicodeビルドが良いよ。
今のVCはUnicodeビルドがデフォだし。

482 :NAME IS NULL:2007/07/11(水) 12:54:19 ID:???
そんなこというとまた 2.0 厨がくるぞーw


483 :NAME IS NULL:2007/07/12(木) 02:03:22 ID:???
sqlite廚に自己コンパイルが出来る香具師は皆無。
ほとんどがマカとかrpm廚だしな。
コンパイル済みの配布をひたすら待つだけしか出来ない。

484 :NAME IS NULL:2007/07/12(木) 07:12:58 ID:???
普通、自分でコンパイルするんじゃないの?

485 :NAME IS NULL:2007/07/12(木) 09:25:33 ID:???
俺は自分でコンパイルしているが、普通ではないと思っている。

まあ BSD/OS なんて使ってるのがそもそも普通ではないのだが。

486 :NAME IS NULL:2007/07/12(木) 12:38:40 ID:???
普通がいいなら普通のものを使えば良いのでは?

487 :NAME IS NULL:2007/07/12(木) 12:44:59 ID:???
普通がいいとは一言も言ってないんだけど・・・

488 :NAME IS NULL:2007/07/12(木) 14:08:19 ID:???
異常な奴ほど「普通」に憧れるものだ

489 :NAME IS NULL:2007/07/12(木) 15:33:11 ID:???
普通のやつほど、普通じゃないっていう方がしっくりくるな。

490 :NAME IS NULL:2007/07/12(木) 16:53:50 ID:???
永遠に2.0を使い続けるおれさまが来ましたよ

491 :NAME IS NULL:2007/07/12(木) 22:22:50 ID:???
もう帰っていいぞ

492 :NAME IS NULL:2007/07/13(金) 15:51:00 ID:???
いいDBなのに数名クズがいるなw

493 :NAME 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回クエリーを発行するしか方法はないでしょうか?

494 :NAME IS NULL:2007/07/13(金) 20:32:00 ID:???
>>493
selectの結果に○/○とかしたいの?
おいらはsqliteは組込用途でいじりはじめたばっかだから便利なマクロみたいのあるのか知らんけど、もしおいらが何とかsql一発でやらなくちゃなら、各テーブルの合計件数とテーブル名を持ったビューなりを作っておいて、ジョインして使うかなぁ


495 :NAME IS NULL:2007/07/14(土) 13:22:50 ID:???
普通はアクセス使ってるしな。
つまりsqlite使ってるおまいらは異常。

全件数のカウントってメモリ喰うからな。組み込みDBとしては厳しいだろう。
どうしてもsqliteでやりたいなら、ソース弄ってパッチ書いてくれ。

496 :NAME IS NULL:2007/07/14(土) 13:32:40 ID:???
pragma page_sizeを大きくすると検索速くなる?

497 :NAME 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 取ってりゃページング処理は書けるでしょう。

498 :NAME IS NULL:2007/07/14(土) 17:53:13 ID:Afh1sfem
DBはいいのにスレにゴミが混じってるな

499 :NAME IS NULL:2007/07/14(土) 19:41:35 ID:???
ゴミは簡単に見分けられるから実害は少ないね

500 :NAME IS NULL:2007/07/15(日) 00:30:08 ID:???
マカ=ゴミ。

501 :NAME IS NULL:2007/07/15(日) 08:55:24 ID:???
>>497
ウソ書いてましたごめんなさい><
やっぱり >>494 と同じようなことするしかないかも。

502 :NAME IS NULL:2007/07/15(日) 20:20:10 ID:???
SQLiteって複数のプロセスで同じDBアクセスしても平気なの?
歯痛成魚する?

503 :NAME IS NULL:2007/07/15(日) 23:48:21 ID:???
平気だよ。

504 :NAME IS NULL:2007/07/16(月) 05:21:05 ID:???
>>502
PRAGMA synchronous; を読んでみて。



505 :NAME IS NULL:2007/07/16(月) 14:38:26 ID:???
>>502
http://www.net-newbie.com/sqlite/lang.html#pragma_default_synchronous
http://www.net-newbie.com/sqlite/lang.html#pragma_synchronous


506 :NAME IS NULL:2007/07/16(月) 18:08:52 ID:???
そのページを見る限り、PRAGMA synchronousは、ディスクとの同期のオプションであって
排他制御のオプションではないようだが。

507 :NAME IS NULL:2007/07/17(火) 00:47:31 ID:???
>>469
遅レスだけどありがとう
nkfを通せばよさげだね

508 :493:2007/07/17(火) 15:57:17 ID:???
>>494,501
ありがとうございます。
特に専用の方法がないようなら
素直に select count(*) します。

他の人も良く使うだろう使い方だと思ったので
専用の方法が用意されているならそれを使おうと思っただけです。
MySQLは専用の方法があるのに気付いたの1年ぐらいたってからだったw

509 :NAME IS NULL:2007/07/17(火) 18:45:08 ID:???
select *, (select count(*) from hoge) from hoge limit ...


510 :NAME IS NULL:2007/07/17(火) 22:10:23 ID:???
>>506
SQLite は Serializable しかサポートしていない。
唯一の例外が Shared Cache Mode で、この場合だけ
Read Uncommited を選択することができる。


511 :493:2007/07/18(水) 09:23:17 ID:???
>>509
ありがとうございます。
無理に1クエリーにしたいわけではないのです。

512 :NAME 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 ドライバが
動いていないとは思えないんだけど、なんでテーブルの一覧を
取得できないんだろう。

513 :NAME IS NULL:2007/07/18(水) 20:23:16 ID:???
ん、odbcドライバはまだベータ版だったと書いてあった気がしたのだが

514 :NAME IS NULL:2007/07/18(水) 21:47:11 ID:7KqvJ1g9
http://www.ch-werner.de/sqliteodbc/
特にベータってことはないみたいだけどなぁ。
まぁ、期待しつつ様子見。

515 :NAME IS NULL:2007/07/18(水) 22:29:48 ID:???


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




516 :NAME IS NULL:2007/07/19(木) 07:22:12 ID:injH7iwR
>>1のオフィシャルサイトが繋がりませんが?

517 :NAME IS NULL:2007/07/19(木) 07:42:05 ID:???
俺は繋がったが?

518 :516:2007/07/19(木) 08:14:50 ID:???
スマソ
IEの設定のせいみたい
他のブラウザやpingなら繋がる

519 :NAME IS NULL:2007/07/20(金) 22:29:17 ID:???
やっぱりアクセスって最強だよな。

520 :NAME IS NULL:2007/07/21(土) 01:00:59 ID:???
>>519
あぁ最高だよね
重たいし、使い勝手が悪いけど、なんといってもWindowsしか使えないし

521 :NAME IS NULL:2007/07/21(土) 01:44:07 ID:???
名前がアクセスのくせに同時アクセスに糞弱いしな。

522 :NAME IS NULL:2007/07/21(土) 01:47:42 ID:???
そもそも比較対象とする理由が全くわからないし

523 :NAME IS NULL:2007/07/21(土) 03:35:25 ID:???
逆にウィンドウズだと十分。マカには無理だが。

524 :NAME IS NULL:2007/07/21(土) 08:06:14 ID:???
マカにはアクセスと同等以上のソフト 4th Dimension がある。
アクセスと違ってそのままクラサバにもできる。

525 :NAME IS NULL:2007/07/21(土) 17:38:40 ID:8EbashlF
出来ると言うことと実用になるということは異なる。

526 :NAME IS NULL:2007/07/21(土) 18:58:16 ID:hcsb6jDM
sqliteファイルサイズでかくなりすぎない?
INDEXも貼ってないんだけど

これ、データ管理に何バイトくらい使ってんの?

527 :NAME IS NULL:2007/07/21(土) 19:04:15 ID:???
>>526
なんで具体的な例も出さないで同意を求めようとするの?

528 :NAME IS NULL:2007/07/21(土) 20:17:14 ID:hcsb6jDM
同意って言うかデータ管理に何バイトくってんのかが知りたいんだけど

529 :NAME IS NULL:2007/07/21(土) 21:14:15 ID:???
>>527
アホは放置しようぜ

530 :NAME IS NULL:2007/07/21(土) 21:18:29 ID:hcsb6jDM
>>529
釣れないこと言わないで管理バイトおしえれよ
知ってるんだろ?

531 :NAME IS NULL:2007/07/21(土) 23:29:20 ID:???
マジレスすると、ソース嫁

532 :NAME IS NULL:2007/07/22(日) 00:07:12 ID:???
3.4.1

533 :NAME IS NULL:2007/07/22(日) 00:28:32 ID:y/9NnjYh
>>530
どうせ知らないんだよ、ここにいる奴らなんてそんなレベル。
まあ、おれも知らないが

534 :NAME IS NULL:2007/07/22(日) 00:48:43 ID:???
管理バイト(笑)

535 :NAME IS NULL:2007/07/22(日) 01:14:27 ID:+wK1MY93
とりあえず、複数プロセスからの同時アクセスの歯痛成魚は
行っていないということですね。ありがとうございました。
自前で歯痛するようにいたします。

536 :NAME IS NULL:2007/07/22(日) 01:17:25 ID:???
レス読んでたら歯が痛くなってきちゃったじゃないか

537 :NAME IS NULL:2007/07/22(日) 01:43:17 ID:???
漠然と歯痛と言われましてもねぇ。

538 :NAME IS NULL:2007/07/22(日) 02:28:07 ID:???
なんだ、SQLiteって複数プロセスから同時アクセスすると、ファイル壊れるのか。
Access並だな。

539 :NAME IS NULL:2007/07/22(日) 02:34:35 ID:???
壊れる壊れないは人によるみたいですよ

540 :NAME IS NULL:2007/07/22(日) 11:22:30 ID:???
くだらない。

541 :NAME IS NULL:2007/07/22(日) 12:23:46 ID:???
はいはい皆さん
「脳が壊れる事とDBが壊れる事は等価」
これは試験に出ますよ

542 :NAME IS NULL:2007/07/22(日) 12:34:26 ID:???
>>537は漠然と〜と言われてもとか言いたいだけ
何も理解していないwwwww


543 :NAME IS NULL:2007/07/22(日) 12:39:00 ID:???
英語のドキュメントって読めない人が多いんだな。小卒ワカイソス。

544 :NAME IS NULL:2007/07/22(日) 13:08:17 ID:???
>>543
あんた小学校も出てないのか

545 :NAME IS NULL:2007/07/22(日) 14:15:12 ID:???
>>543
日本語のドキュメントなら読むと思っているおまえは青二才

546 :NAME IS NULL:2007/07/22(日) 14:24:08 ID:???
DBのファイルが15G超えました。

547 :NAME IS NULL:2007/07/22(日) 14:37:54 ID:y/9NnjYh
>>546
そんな何のデータを入れてんだ

548 :NAME IS NULL:2007/07/22(日) 14:57:43 ID:???
サーバのアクセスパターンを解析するために、
アクセスログ+処理結果を適当にパースしてつっこんでる。
約3ヶ月分。

INDEXが付いてるところは、遅くなってきてはいるけど、まあ問題ない。
INDEXが付いてないところは、遅すぎて普段の処理では使えない。
ただ、ゴミ掃除とかの、データを整理するときしか使わないので、
あんまり気にしてない。帰るときに流して放置するから。

549 :NAME IS NULL:2007/07/22(日) 15:04:55 ID:???
エロ動画だろ

550 :NAME IS NULL:2007/07/22(日) 21:37:01 ID:+wK1MY93
INSERTしたとき、いつファイルに反映されますか?

551 :NAME IS NULL:2007/07/22(日) 21:42:22 ID:???
クローズした時

552 :NAME IS NULL:2007/07/22(日) 22:04:33 ID:???
明示的に BEGIN TRANSACTION した場合は COMMIT したとき。
そうでなければ INSERT 完了時。

553 :NAME IS NULL:2007/07/23(月) 01:25:38 ID:???
>>551>>552
どちらが正しいんだろう・・・うーん

554 :NAME IS NULL:2007/07/23(月) 01:29:14 ID:???
試してみりゃすぐ分かるじゃん・・・

555 :NAME IS NULL:2007/07/23(月) 02:01:24 ID:???
>>546
おめでとう

556 :NAME IS NULL:2007/07/23(月) 12:01:21 ID:???
SELECTするときトランザクション開始しないと遅い
なんてレビューを読んだんですがこれほんとですか?
自分でやったら10万件程度なら問題なかったですが
SQLiteってSELECTの結果セットを持ちますよね?

557 :NAME IS NULL:2007/07/23(月) 12:10:25 ID:???
うそです。おまえが正しい。

558 :NAME IS NULL:2007/07/23(月) 15:57:34 ID:???
結果セットって、メモリに持つんですか?
SELECTの結果が10万件とかのときって、10万件分メモリが必要?

559 :NAME IS NULL:2007/07/23(月) 16:48:06 ID:tFlavIkf
Windows の .NET 環境から使おうと思ったんだけど、
ODBC ドライバ経由と ADO.NET プロバイダ経由の
どちらがいいと思います?

560 :NAME IS NULL:2007/07/23(月) 19:49:50 ID:???
>>559
つ [System.Data.SQLite]
ttp://sqlite.phxsoftware.com/


561 :NAME IS NULL:2007/07/23(月) 23:20:32 ID:???
俺も、System.Data.SQLiteがいいと思う。

562 :NAME IS NULL:2007/07/23(月) 23:30:22 ID:???
>>558
世の中にはスワップファイルという物があってな

563 :NAME IS NULL:2007/07/23(月) 23:52:37 ID:???
まあいやらしい

564 :NAME IS NULL:2007/07/24(火) 01:22:30 ID:???
>>562
なるほど

スワップは切ってる としたらどうなるんだろう。 死んじゃうのかな・・・

565 :NAME IS NULL:2007/07/25(水) 02:43:46 ID:???
>>556
INSERT するときはトランザクション開始しないと糞遅いのは有名だけど
SELECT するときはデマだろ。

566 :NAME IS NULL:2007/07/26(木) 01:01:39 ID:???
デフォルト動作ではSELECTの実行中はDB全体をロックしっぱなしなんだから
トランザクションも糞もないだろ、常考


567 :NAME IS NULL:2007/07/26(木) 10:42:38 ID:XuMdc/ZM
MS Access や phpMyAdmin のような
GUI で操作できるツールはないでしょうか?

568 :NAME IS NULL:2007/07/26(木) 14:03:29 ID:???
スレ内検索もせず質問ageとかもうね、(ry

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

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



569 :NAME IS NULL:2007/07/26(木) 18:26:38 ID:???
>>568
だって、だってなんだもん。THX

570 :NAME IS NULL:2007/07/26(木) 21:26:57 ID:???
>>566
ソースどこ?

571 :NAME IS NULL:2007/07/26(木) 21:29:34 ID:???
オープンソースですよ

572 :NAME IS NULL:2007/07/27(金) 01:02:14 ID:???
>>570
sqlite3.exe を同じDBに対して2つ同時に立ち上げて、
片方で SELECT を実行してる最中にもう片方で更新かけてみろ


573 :NAME IS NULL:2007/07/27(金) 02:22:45 ID:???
>572
そんな事したら、ファイルが壊れちゃうよ。

574 :NAME IS NULL:2007/07/27(金) 08:03:41 ID:???
糞ACCESSと違って、普通のDBはその程度では壊れない。

575 :NAME IS NULL:2007/07/27(金) 09:18:35 ID:???
複数プロセスからのアクセスで歯痛成魚していないらしいからな。

576 :NAME IS NULL:2007/07/27(金) 11:14:19 ID:???
>>573
壊れないように全体をロックしているんだろ・・・
まあ基本的にBetter DBMなんだから、基本は
クライアントアプリの組み込み用途がメインだと
思う。PHPが採用してから何か方向性を勘違い
されるようになった。

577 :NAME IS NULL:2007/07/27(金) 12:35:02 ID:???
>>575
先日から必死で嘘の風評流してるな。そういう仕事の人?

578 :NAME IS NULL:2007/07/27(金) 13:39:32 ID:???
> 基本はクライアントアプリの組み込み用途がメインだと思う。

ということにしたいのですね?

579 :NAME IS NULL:2007/07/27(金) 13:41:05 ID:???
>>577
本当に風評なら今ごろ真っ当な反論が出ている筈とは思わんかね?

580 :NAME IS NULL:2007/07/27(金) 14:15:29 ID:???
>>579
あまりにアホらしい(英語読めればすぐ判る)から反論する気にもならないだけでは?

581 :NAME IS NULL:2007/07/27(金) 17:09:47 ID:???
>>578
いや本当だって。設計見ても、生い立ちみてもそうだろ。
そう思いたくない理由でもあるのか。あるなら聞こう。

582 :NAME IS NULL:2007/07/27(金) 17:13:06 ID:???
SQLiteをWebサービスで使うのは普通だけど
アクセスをWebサービスで使う奴なんていないよね^^;


583 :NAME IS NULL:2007/07/27(金) 17:15:05 ID:???
>>581
設計と生い立ちについて詳しく。

584 :NAME IS NULL:2007/07/27(金) 17:17:40 ID:???
>>581
むしろおまえの生い立ちと脳の設計について聞きたい

585 :NAME IS NULL:2007/07/27(金) 17:23:00 ID:???
意地でもクライアントアプリの組み込み以外の用途で使わせたくない香具師がいるな。

drh か?

586 :NAME IS NULL:2007/07/27(金) 17:24:20 ID:???
いつものキチガイ粘着でしょ

587 :NAME IS NULL:2007/07/27(金) 17:25:53 ID:???
このスレはいつでもけんか腰だな。うんざりするわ。
だから流行らないんだよ。


588 :NAME IS NULL:2007/07/27(金) 17:28:26 ID:???
SQLite無茶苦茶流行ってるよなぁ。
本来は最適でないのではと思える用途にまで使われるほどにw

589 :NAME IS NULL:2007/07/27(金) 17:31:49 ID:???
これでけんか腰って。
2ちゃんねる初心者かよ!?

590 :NAME IS NULL:2007/07/27(金) 17:38:47 ID:???
だからいつものキチガイ粘着でしょ

591 :NAME IS NULL:2007/07/27(金) 18:44:53 ID:???
>>587
いや、別にこのスレ読まなくても使えるから無問題でしょw

592 :NAME IS NULL:2007/07/27(金) 21:58:34 ID:???
>582
SQLiteをWebサービスで使ってるとこって、同時アクセス数が1を越えそうにないとこ
だけだろ。

593 :NAME IS NULL:2007/07/27(金) 22:07:37 ID:???
ファイル形式がバージョンによってどんどん
変わって行くのだけは勘弁な

594 :NAME IS NULL:2007/07/27(金) 22:24:12 ID:???
ファイル形式が変わるだけならともかく、「これはDBファイルじゃない」とか
エラーメッセージが出るから、ファイルが壊れたかと思ってあせる。

「バージョンが違う」ぐらい出せるだろうに。不親切にもほどがある。

595 :NAME IS NULL:2007/07/27(金) 22:39:31 ID:7YCGbYh8
コマンドラインからは.tablesでテーブル一覧を表示できますが、
sqlを使ってテーブル一覧を取得するにはどうすればいいですか?

596 :NAME IS NULL:2007/07/27(金) 22:53:40 ID:mNF9qJRa
select name from sqlite_master where type='table';

597 :NAME IS NULL:2007/07/27(金) 22:54:33 ID:???
>>595
sqlite_masterというテーブルがあるからそれをとりあえず
全レコードみてみましょう
何が書かれているかわかります

598 :NAME IS NULL:2007/07/27(金) 22:55:49 ID:???
>>595
ぐぐれかす
ttp://www.google.co.jp/search?source=ig&hl=ja&q=sqlite+%E3%83%86%E3%83%BC%E3%83%96%E3%83%AB%E4%B8%80%E8%A6%A7&lr=

599 :NAME IS NULL:2007/07/27(金) 22:56:37 ID:???
>>592-594
必死だなw

600 :NAME IS NULL:2007/07/27(金) 23:15:46 ID:mNF9qJRa
phpからさsqliteにvacuumかけた直後に
DBファイルのファイルサイズとってきても変らないんだけど、なんで?

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

でxとyが一緒になる。
結果画面表示後、ファイルサイズみると減ってるんだけど・・・

601 :NAME IS NULL:2007/07/27(金) 23:31:23 ID:???
>>600
明示的に DB を close してみればサイズ減ってるんじゃない?
と適当なことを言ってみる。

602 :NAME IS NULL:2007/07/27(金) 23:33:18 ID:mNF9qJRa
>>601
x=filesize($DBFILE);
$db->queryExec("VACUUM;");
unset($db);
sleep(1);
y=filesize($DBFILE);

オブジェクト指向タイプで記述してるけど
こうやってもだめだったんだよ

603 :NAME 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()ねじ込んだらできた



604 :NAME IS NULL:2007/07/28(土) 20:50:36 ID:???
sqliteは複数同時アクセスには対応できないの?

605 :NAME IS NULL:2007/07/28(土) 21:47:27 ID:???
>>604
お前以外には対応してる

606 :NAME IS NULL:2007/07/28(土) 22:58:44 ID:???
>>605
ごめん、意味わかんないからお前は答えなくていいや

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

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

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




607 :NAME IS NULL:2007/07/29(日) 00:11:25 ID:???
そもそもSQL-92にSELECT〜FOR UPDATEがない

608 :NAME IS NULL:2007/07/29(日) 00:15:57 ID:???
>604
SQLiteを呼び出す時は、事前にflock()が必須。

609 :NAME 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はそういうことはしなくていいのでしょうか?

620 :NAME 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:???
>>619
>>75

627 :名無しさん@そうだ選挙に行こう:2007/07/29(日) 18:56:12 ID:???
>>626
ありがとうございました
sqliteもそうだったのですかorz

628 :名無しさん@そうだ選挙に行こう:2007/07/29(日) 19:29:51 ID:???
>>625
なるほど。ありがとうございました。

たとえば、SELECT *とかしてる途中で
他の誰かがUPDATEで全部書き換えてしまったとき
メモリが超少ない環境ではどうなるのか気になったのですが


629 :NAME IS NULL:2007/07/29(日) 23:50:37 ID:???0
メモリが少ない状況で、他の誰かに使わせちゃ駄目だろ。
つまりアクセス並みに1ユーザで使うしかないよ。
あくまで組み込みDBなんだから期待しちゃ駄目。

630 :NAME IS NULL:2007/07/30(月) 00:59:23 ID:???
>>629
そうですか
2プロセスからのアクセスで片方がUPDATEやINSERT
もう片方がSELECTという使い方を想定してたんだけど

というかこういう使い方が出てきたから自作DBから
SQLiteへの乗換えを検討してたんだけど・・・

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

# まぁ組み込みゆーても、Windows embeddedみたいな環境なら
# SQL Server for embedded systemが使えるってくらいで問題ないとは思うが

632 :NAME IS NULL:2007/07/30(月) 03:51:54 ID:???
>>631
屁理屈はいい。質問への回答を頼む。

633 :NAME IS NULL:2007/07/30(月) 03:57:42 ID:???
>>631
そうですね
RAMは数メガあるので超少ないは言い過ぎでした

でも別途CFやらSDやらにDBを持ってるので
数万レコード程度は普通にあるんです
まあ当分は自作DBで頑張ってみます

634 :NAME IS NULL:2007/07/30(月) 09:53:35 ID:???
2プロセスで書き込みは片方だけって状況なら全然問題無くね?

てゆか「携帯の制御プログラム」ってどこから出てきた話かわからんけど、
ACCESS (Microsoft じゃない方の) も ALP で採用してるようだし、
「組み込み開発」にも十分向いてると思うんだがなあ。

635 :NAME IS NULL:2007/07/30(月) 09:56:42 ID:???
>>634
携帯開発とかやったこと無い奴がしゃべんなよ。ってことで流そうよ。


636 :634:2007/07/30(月) 10:07:24 ID:???
>>635
ごもっとも。スマソ。もう黙っときます。

ちなみに、「2プロセスで書き込みは片方だけ」のつもりが、
検索する側でテンポラリテーブルを作ってしまっていてハマったことがある。

637 :NAME IS NULL:2007/07/30(月) 18:38:36 ID:???
このスレには質問にケチしかつけるしか能がないチョンがいるようですね

638 :NAME IS NULL:2007/07/30(月) 21:30:29 ID:???
>>637
おまえも質問を書けばケチつけてやるぞw

639 :NAME IS NULL:2007/07/30(月) 22:46:36 ID:???
このスレには質問に答えてもらえず煽りレスで鬱憤晴らす >>637 もいるようですね

640 :NAME IS NULL:2007/07/30(月) 23:07:08 ID:???
ストレス解消に役立ってるなら結構なことだ

641 :NAME IS NULL:2007/07/30(月) 23:39:44 ID:???
>>639
あまり強い言葉を使うなよ
弱く見えるぞ

642 :NAME IS NULL:2007/07/30(月) 23:40:18 ID:???
>>640
そこに気づくとは…こいつ、かなりの切れ者…!

643 :NAME IS NULL:2007/07/31(火) 00:02:03 ID:???
やっぱりマカって馬鹿だよな。

644 :NAME IS NULL:2007/07/31(火) 00:22:06 ID:???
なん…だと…!?

645 :NAME IS NULL:2007/07/31(火) 02:39:40 ID:???
sqlite2つこうてるけど
テーブルのリネームすら出来ないってありえねーな

646 :NAME IS NULL:2007/07/31(火) 08:06:10 ID:???
まだ2使ってるって馬鹿?

647 :NAME IS NULL:2007/07/31(火) 09:42:12 ID:???
>>645
ちゃんと設計しとけよw


648 :NAME IS NULL:2007/07/31(火) 10:33:37 ID:???
3だとできるんだっけ?

649 :NAME IS NULL:2007/07/31(火) 18:20:54 ID:???
>>646
なん・・・・だと・・・・!?

650 :NAME IS NULL:2007/07/31(火) 20:52:53 ID:/ZQXLUmN
>>646
PHPだと3にはPDOでしかアクセスできない
&PDOがバギーらしいんで2にしたんだよ

651 :NAME IS NULL:2007/08/01(水) 00:23:43 ID:???
PHP使ってる時点で(ry

652 :NAME IS NULL:2007/08/01(水) 01:00:45 ID:???
なん・・・・だと・・・・!?

653 :NAME IS NULL:2007/08/01(水) 01:58:11 ID:???
Safari使ってる時点で(ry

654 :NAME IS NULL:2007/08/01(水) 02:23:16 ID:???
なん・・・・だと・・・・!?

655 :NAME IS NULL:2007/08/01(水) 07:41:34 ID:WEk3363h
>>650
そこに気づくとは大した奴だ…

656 :NAME IS NULL:2007/08/01(水) 16:49:59 ID:???
なん・・・・ばら・・・・!?

657 :NAME IS NULL:2007/08/01(水) 17:28:48 ID:???
まさか…これ程とは…

658 :NAME IS NULL:2007/08/02(木) 01:12:55 ID:???
>>630
マルチプロセスで両方SQLite3を使っている場合、
片方がSELECTしている最中は、もう片方から
書き込みをCOMMITすることはできないよ。

複数のプロセスから共通のDBを使いたい場合に
同時実行性を上げたいなら、共有キャッシュモードで
DBアクセス専用プロセスを作って、他のプロセスは
DBアクセス用プロセスとプロセス間通信を行って
DBアクセスをするといい。


659 :NAME IS NULL:2007/08/02(木) 01:27:57 ID:???
>>658
COMMITする意味を考えれば、COMMIT後に前の結果が返るのは困る場合が多いのではないか?

660 :NAME IS NULL:2007/08/02(木) 01:34:13 ID:???
>>659
SQLiteはSerializableかRead Uncommitedのどちらかしか
サポートしてない。

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

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

というか分からないならRead Uncommitedについて調べろ。


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

そんな手間をかけるくらいならもう他の DBMS 使った方がよくね?

662 :NAME IS NULL:2007/08/02(木) 02:14:02 ID:???
「他のDBMS」っつーのも結局やってることは>>658と同じわけで。

組み込み用途なら、複数プロセスから同一のDBファイルを
アクセスするようなユースケースはあんまないだろ。


663 :NAME IS NULL:2007/08/02(木) 04:23:03 ID:???
>>662
ユース・・ケース?

いや、まさにそういうケースにぶち当たったんだけどね。
まあなんとかするさ

664 :NAME IS NULL:2007/08/02(木) 07:03:00 ID:???
つまり同時アクセスは駄目なDBって使えないじゃん。
Safariみたいに同時使用はあり得ない用途でしか使えないってことだな。
PHPからアクセスさせるなら1ユーザのみに限定とか(w

665 :NAME IS NULL:2007/08/02(木) 11:01:48 ID:???
そもそも、組み込みDBってそういうもんだし。
同時アクセスは駄目じゃないけど、パフォーマンスが劣悪になる。
仲介プロセスが必要になるなら、さすがに
MySQLなりポスグレ使うなりしたほうがいいと思う。

666 :NAME IS NULL:2007/08/02(木) 14:28:51 ID:???
SQLiteとPostgresじゃ規模とかインスコの手間とか違いすぎるだろ。
その中間に、FirebirdとかdBASE、FoxProとかが有るんじゃないの? 使った事無いけど。

667 :NAME IS NULL:2007/08/02(木) 18:12:20 ID:kmFMFn/s
ExcelVBAからSQLite使う方法ありますか?

668 :NAME IS NULL:2007/08/02(木) 22:00:53 ID:???
>>664-665
どうしても同時アクセス駄目(または劣悪)にしたい奴らが必死だなw

669 :661:2007/08/03(金) 01:12:57 ID:???
>>662
同じだから、車輪の再発明をするだけ無駄ってこと。

670 :NAME IS NULL:2007/08/03(金) 01:36:04 ID:???
>667
ODBCドライバがあるからそれで使える。
はず。

671 :NAME IS NULL:2007/08/03(金) 20:04:40 ID:???
つーか組込用でクラサバでもないのは初めてから分かってる事なのにアホな事言う奴が多くて失笑ものだな…
コンパクトでソースコードも付いててローカルDBとして気軽にアプリに組込んだり便利だな…

使用目的を勘違いしているアホチンは余所に行って欲しいよw


672 :NAME IS NULL:2007/08/03(金) 21:33:07 ID:???
>>671
組込み用とだとばかり思っていたよ。ごめんね。

公式でも組込み用と明確に書いてあったから
ついうっかり信じ込んでしまったみたいだ。
これからは気をつけるよ。

673 :NAME IS NULL:2007/08/03(金) 21:42:31 ID:???
公式で書いてある組込み用ってのはアプリケーション組み込み用ってことであって
組込みデバイス向けってことじゃないってかそんなことはみんな知ってるよな…

674 :NAME IS NULL:2007/08/03(金) 21:44:19 ID:???
へへへ、俺は知ってるよ。他の人のことはわからん。

675 :NAME IS NULL:2007/08/03(金) 22:46:30 ID:???
何でもいいが今時並列処理できないDBなんていらないといってみるテスト。
時代はマルチコアでっせー。

676 :NAME IS NULL:2007/08/04(土) 00:11:28 ID:???
だから、できるってば

677 :NAME IS NULL:2007/08/04(土) 00:12:20 ID:???
クエリーのマルチスレッド実行とか高い同時実行性が欲しいなら
他のDBMS使えでFAなんだが。

DRHは別にそういうの目指してるわけじゃないし。


678 :NAME IS NULL:2007/08/04(土) 00:15:11 ID:???
まぁ、本来「アプリ組み込み用」だった SQLite が、なぜか
「PHP ランタイムに組み込まれて」しまったせいで、
他のリッチな DBMS と比べてあーだこーだ言われるのは
DRH としては痛し痒しなんだろうなw


679 :NAME IS NULL:2007/08/04(土) 00:38:46 ID:???
本来はクライアントの中で小さく使われるためのものなんだろうにね。

680 :NAME IS NULL:2007/08/04(土) 08:48:53 ID:ln3oA6ly
>>673
本当にそんなこと書いてあった?

681 :NAME IS NULL:2007/08/04(土) 09:06:06 ID:qS1j1fWl
>>680
書いてあるないがそんなに重要なのか?
自分で考えて使えないの?

682 :NAME IS NULL:2007/08/04(土) 09:09:53 ID:???
>>681
いや、公式がどうのこうのって言うわりには何も読んでないなって。

683 :NAME IS NULL:2007/08/04(土) 09:27:55 ID:qS1j1fWl
>>682
みみっちぃなw
そんなどーでもいいこと放っておけよw

684 :NAME IS NULL:2007/08/04(土) 10:47:20 ID:???
公式には、組み込み用とはPHPへの組み込みを意味するって書いてある。

685 :NAME IS NULL:2007/08/04(土) 16:52:29 ID:???
FAQによれば、複数プロセスで同時にアクセスするのは
UNIX上ではやめとけ と書いてあるな。

Linux上ならいいのかしらん?

686 :NAME IS NULL:2007/08/04(土) 16:54:45 ID:???
>>677
でもこんだけ小さいDBMSって他にはそうそう無いべ

687 :NAME IS NULL:2007/08/04(土) 20:04:42 ID:???
ManagementSystemじゃなくてEngineだべ

688 :NAME IS NULL:2007/08/04(土) 21:02:29 ID:???
あー そうだったべ

689 :NAME IS NULL:2007/08/04(土) 23:15:48 ID:???
どこだったかC言語による読みやすいコード…と説明されていたが、禿げしく読みづらいと感じるのはおいらがC++なプログラマーだからなのか、もしくはヘタレだからなのだろうかw

車輪人生脱却するために今の内に頑張っておくか…

690 :NAME IS NULL:2007/08/05(日) 01:24:12 ID:???
読みやすいかどうかは比較対象の問題では?

691 :NAME IS NULL:2007/08/05(日) 07:22:29 ID:???
良く使うアプリのコードと読み比べてみるってのは?
この世で最も多く使われるプログラムというとlsあたりかな

692 :NAME IS NULL:2007/08/05(日) 10:54:04 ID:???
経験値の浅い漏れは、ハンガリアン記法は SQLite で初めて見た。

693 :NAME IS NULL:2007/08/05(日) 13:33:29 ID:???
DLLなしでWin32ネイティブで完全に組み込みたいんだけどどうやるの?

694 :NAME IS NULL:2007/08/05(日) 13:48:38 ID:???
何の利点があるの?

695 :NAME IS NULL:2007/08/05(日) 14:36:32 ID:???
表面上SQLiteを使っていないように見えるw

696 :NAME IS NULL:2007/08/05(日) 14:45:15 ID:???
スタティックリンクしたいって話か?

697 :NAME IS NULL:2007/08/05(日) 15:10:02 ID:???
ファイル名変えとけば、分かりゃしないよ。

698 :NAME IS NULL:2007/08/05(日) 15:10:55 ID:???
sqliteってマルチコア非対応だしな。マルチコア環境で同時更新できなのでは、割と致命的。

表面上、自前でDB用意しましたよってことにしたいとか?

699 :NAME IS NULL:2007/08/05(日) 15:30:07 ID:???
>>693
ソースをプロジェクトに突っ込むだけで静的にリンクできるはず

700 :NAME IS NULL:2007/08/05(日) 15:41:10 ID:???
>>698
よくわからんw

sqliteはライブラリだぞ。
アプリがマルチコア対応なら同時更新できるだろw

701 :NAME IS NULL:2007/08/05(日) 15:42:07 ID:sjhv7VHk
SQLite.DLLをVB(A)から使うにはどうしたらいい?
そのままで使える?



702 :NAME IS NULL:2007/08/05(日) 15:56:53 ID:DwKotpp3
普通に使えるだろ

703 :NAME IS NULL:2007/08/05(日) 16:39:42 ID:???
>>700
アプリで対応しなきゃ駄目ってことでしょ?

ただ、マルチコア非対応とは書いてない
非効率とはあるけど

704 :NAME IS NULL:2007/08/05(日) 17:27:58 ID:???
めちゃくちゃ更新が多いとかでなきゃそれほど非効率ってわけでもない

705 :NAME IS NULL:2007/08/05(日) 18:35:26 ID:???
>>702
宣言がstdcallになってないから
旧VBからだと使えない気がするんだが、どうだろう。
VB.netなら問題ないと思うが。

706 :NAME IS NULL:2007/08/05(日) 19:26:07 ID:sjhv7VHk
>>705
戻りの型とかはバリアントで通用するのかな?

てか、sqliteはphpからしか使ったことなかったけど
php関数まんまの関数無さそうだね、あれでかなり使いやすくラップしてたんだ・・・

707 :NAME IS NULL:2007/08/05(日) 19:56:48 ID:???
VB.netだと、intならDeclare Function 〜 as Int32、void ならDeclare Subでいけるハズ。
ポインタ関係はIntPtrで適当に扱うしか。

708 :NAME IS NULL:2007/08/05(日) 20:00:21 ID:sjhv7VHk
VBAでは?分からん??

709 :NAME 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があるみたいなんで、じっくり探してみたらどうだろう。

710 :NAME IS NULL:2007/08/05(日) 20:22:31 ID:sjhv7VHk
>>709
d読んでみる

仮に呼べたとしても
そのままではphpの関数のようには使えないでFA?

711 :NAME IS NULL:2007/08/05(日) 21:43:35 ID:???
リンクの仕方なんてここで聞くことかよ・・・。
majiでレベル低過ぎだろ・・・。夏厨にもほどがあるぞ・・・

712 :NAME IS NULL:2007/08/05(日) 23:33:53 ID:???
データベースなんてただの道具ですよ
sqliteはただのおもちゃですよ

713 :NAME IS NULL:2007/08/06(月) 00:02:17 ID:???
>>711
そうだな。VBのスレ(よく知らんけど)でやれって感じ。

714 :NAME IS NULL:2007/08/06(月) 00:04:26 ID:???
リンクの話は>>693だろVBの話とは別じゃね

SQLiteって業務での実績ってあるの?

715 :NAME IS NULL:2007/08/06(月) 00:06:06 ID:???
ACCESSがどーのこーののやり取りほどは不毛じゃないと思うが。

716 :NAME IS NULL:2007/08/06(月) 00:08:17 ID:???
アップルは業務でSpotlightを作ったんじゃないのか?

717 :AC厨:2007/08/06(月) 00:08:50 ID:???
呼んだ?

718 :NAME IS NULL:2007/08/06(月) 00:49:42 ID:???
>717
あよねでも聞いて鬱ってろ、この公共広告機構野郎

719 :NAME IS NULL:2007/08/06(月) 02:34:48 ID:???
>>714
http://www.sqlite.org/cvstrac/wiki?p=BigNameUsers


720 :NAME 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は何か必要なの?

721 :NAME IS NULL:2007/08/06(月) 20:41:03 ID:???
ICU ttp://source.icu-project.org/ のヘッダファイルへの
パスが通ってないんじゃなかろか。

722 :NAME IS NULL:2007/08/06(月) 20:51:30 ID:???
少なくとも間接的には業務で使われてる事にはなるだろうな
MS謹製のアプリでもIE等、結構組み込まれて使われてるし

googleもだったか
ただオリジナルのコードはあまり残って無い程いじられてそうだがw

723 :NAME IS NULL:2007/08/06(月) 20:58:12 ID:oraWsScS
>>721
ていうか、落として北sqlite-source-3_4_1にはそんなヘッダファイル入ってないんだよ・・・

724 :NAME IS NULL:2007/08/06(月) 21:56:10 ID:???
>>722
過去ログにもあるけど FTS の部分なんかは Google の中のひとが contribute しとるよ。

725 :NAME 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>しか入ってないのは何でだよ

726 :NAME IS NULL:2007/08/06(月) 22:47:32 ID:???
http://source.icu-project.org/repos/icu/icu/tags/release-3-6/source/i18n/unicode/

727 :NAME IS NULL:2007/08/06(月) 23:01:04 ID:oraWsScS
>>726
d
3.8より3.6のがいいの?

728 :NAME IS NULL:2007/08/06(月) 23:01:14 ID:???
ext/icuは別にコンパイルしなくてもいいだろ・・・、Makefileくらい嫁よ・・・
まじでれべr低すぎだろ・・・

729 :NAME IS NULL:2007/08/06(月) 23:05:32 ID:oraWsScS
全ての人が自分と同じレベルにいると思うな

で、必要ないの?


730 :NAME IS NULL:2007/08/07(火) 00:21:29 ID:???
これってさ、最初からクソでかいファイル用意して
サイズ膨らまさずにその中でよろしくやってくれって
出来るのか?

731 :NAME IS NULL:2007/08/09(木) 18:27:06 ID:1iu5Z0TY
icu外したら
こんどは別のエラーでた
コンパイルできねーよ

732 :NAME IS NULL:2007/08/09(木) 20:01:30 ID:1iu5Z0TY
1>main.obj : error LNK2001: 外部シンボル "__imp__SysAllocStringByteLen@8" は未解決です。ってなんだお

733 :NAME IS NULL:2007/08/09(木) 20:17:54 ID:1iu5Z0TY
3.4.1でここのhttp://www.tannertech.net/sqlite3vb/index.htmやり方でコンパイルするにはどういう設定が必要?
環境はvc2005exp+PSDK 

734 :NAME IS NULL:2007/08/09(木) 21:30:56 ID:???
ヘッダーファイル取り込む

735 :NAME IS NULL:2007/08/09(木) 21:38:32 ID:???
Express使うような貧乏人にはコンパイルされたくないのかもねぇw

736 :NAME IS NULL:2007/08/09(木) 21:43:35 ID:1iu5Z0TY
vc6proでも出来なかったんだ、煽る暇あるなら調べて来い

737 :NAME IS NULL:2007/08/09(木) 22:07:22 ID:???
おまえのvc6割れてるだろ。俺にはわかるぞ。でなきゃ
初めて使うかのようなアホな質問しないからな

738 :NAME IS NULL:2007/08/09(木) 22:22:12 ID:1iu5Z0TY
ヒント:会社

739 :NAME IS NULL:2007/08/09(木) 22:27:51 ID:???
結局ICUってなんだったの?

740 :NAME IS NULL:2007/08/10(金) 10:11:05 ID:???
集中治療室だっけ?

741 :NAME IS NULL:2007/08/10(金) 10:22:49 ID:???
ICUはunicode関係のライブラリだよ。

742 :NAME IS NULL:2007/08/10(金) 11:21:30 ID:???
VBから入ろうって奴が、いきなりVCで自力DLLコンパイルは敷居が高いと思うぞ。
前の呼び出し規約の話もそうだが、リンクとかDEF書いてエクスポートとか
色々覚えないとだめなことが多い。

743 :NAME IS NULL:2007/08/10(金) 12:45:04 ID:4uO7Injt
>>742
どこが敷居が高いんだよw

744 :NAME IS NULL:2007/08/10(金) 12:46:48 ID:???
>>720 には物凄く高いことはわかった。

745 :NAME IS NULL:2007/08/10(金) 14:19:08 ID:???
環境がおかしいんじゃね?w
ただダウソしてダイナミックもスタチックも何も気にせずビルド出来たけど
君にはまだ早いのかもしれんね
むつかしい事は大人になってからすれば?w

746 :NAME 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

747 :NAME IS NULL:2007/08/10(金) 18:27:47 ID:WTiVmQh3
>>742-746
昨夜無事コンパイル完了してます。
VB用の拡張機能の動作もOK

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

まあ、一度コンパイル通ればこっちのもんだ
色々機能拡張も出来る


748 :NAME 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誕生日には祝ってくれる
他にも楽しい特典が盛りだくさん
料金は無料なのでぜひご入会ください

749 :NAME IS NULL:2007/08/11(土) 10:44:49 ID:???
またマカか。馬鹿だな。
業務ユーザがあの薄っぺらなキーボード使うと本気で思ってるのか?



750 :NAME IS NULL:2007/08/11(土) 18:26:03 ID:???
>>749
君のような薄っぺらな人間よりはマシでは?

751 :NAME IS NULL:2007/08/11(土) 18:37:35 ID:???
ここは SQLite を使う事に関して語るスレであって
Visual Studio の使い方をお勉強するスレではない。

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

世の中にゃ、UNIX 用のソースしかなければ自力で Windows に
移植して使う人間だってゴマンといるんだよ。


752 :NAME IS NULL:2007/08/11(土) 18:50:50 ID:???
うんそうだね

753 :NAME IS NULL:2007/08/11(土) 19:55:08 ID:???
終わった話をいつまでしてんだかw
乗り遅れてくやしかったか?

754 :NAME IS NULL:2007/08/12(日) 19:03:45 ID:???
複数のプロセスからSELECTとINSERTをやったときの
ロックっぷりを解説してるサイトありますか?
ttp://www.buena-idea.net/~hironobu/mysql/m-2-10.html
こんな感じで図解してるとわかりやすいんですけど

755 :NAME IS NULL:2007/08/13(月) 02:40:01 ID:???
Windowsのソースや、Unixのソースは公開されてても、マクに移植すら出来ないのがマカ。
sqliteのパッチ当てすら無理だし(w

756 :NAME IS NULL:2007/08/13(月) 02:53:28 ID:???
またおまえか

757 :NAME IS NULL:2007/08/13(月) 23:54:26 ID:???
>>754
http://www.sqlite.org/lockingv3.html


758 :NAME IS NULL:2007/08/14(火) 15:34:08 ID:VUBT5dwm
リモートとローカルの SQLite のデータベースを
簡単に同期させる方法ってないかなぁ。
自力でがんばりたくない他力本願野郎です。
かといってレプリケーション機能が完備されている
他のクラサバ型のデータベースを使うのも重いなぁと。


759 :NAME IS NULL:2007/08/14(火) 16:52:53 ID:???
>758
朝晩、「南無阿弥陀仏」と唱えると良いでしょう。

760 :NAME IS NULL:2007/08/14(火) 16:59:15 ID:VUBT5dwm
>>759
毎朝は無理だけど、数日前に唱えました。
お坊さんも家に呼んで、一緒に。

761 :NAME IS NULL:2007/08/14(火) 17:00:24 ID:???
ちなみに、今まで本願が成就したことはありません。
人生30年程度生きてきて一度も。
阿弥陀仏におすがりするしかありません。

762 :NAME IS NULL:2007/08/14(火) 17:07:35 ID:???
>>757
日本語でおk

763 :NAME IS NULL:2007/08/14(火) 17:46:07 ID:???
>>758
何に使うの

764 :NAME IS NULL:2007/08/14(火) 18:01:08 ID:???
なんとなく、 MySQL あたりを使った方がトータルで実装&運用コスト低い気がする。

765 :NAME IS NULL:2007/08/14(火) 18:09:57 ID:???
Google Browser Sync みたいなことを自分のアプリでも
やりたいなぁって。googlegear みたいなものに任せろ
っていう意見もあるかと思うんですが、できれば
データのストアにはSQL使いたいです。
それに別にウェブアプリをオフライン化したいとかじゃないし。

766 :NAME IS NULL:2007/08/14(火) 18:30:46 ID:???
データ変更のタイミングがプログラムの起動・終了時とかに限られてて
常時書き換えが起こるもんでもないという条件であれば、
適当なファイル転送プロトコル (scp とか rsync とか) 使えば良いんでないかい?

767 :NAME IS NULL:2007/08/14(火) 19:32:17 ID:???
>>766
残念ながらデータベースのサイズがかなりでっかいんですよ。
なので丸ごとというのはちょっとなぁ、と思っている次第です。
自前でレコード単位でのバージョニングをやって、
変更があったところだけ同期させるとかしかないかなぁ。
同期アルゴリズムについて広く扱った文献ってあります?
SyncML とかの関連文書を読めばいいんだろうか。
それともソースコードのバージョン管理を模倣すればいいんだろうか、
Subversion とかでやってることを。

768 :NAME IS NULL:2007/08/14(火) 21:17:51 ID:???
SyncMLはプロトコル決めただけだから
その用途では手数がかかり過ぎるので勉強する意味はあまりない

いきなりレコード単位でどうこうすることを考えるより
まずはSQLiteのDBファイルをrsyncしてみて
実用に耐えなかったら次の手を考えることにしたらどうよ

769 :NAME IS NULL:2007/08/14(火) 23:17:09 ID:???
>>767
> 残念ながらデータベースのサイズがかなりでっかいんですよ。
> なので丸ごとというのはちょっとなぁ、と思っている次第です。

なら、SQLite を選ぶのは間違い。
素直にレプリケーション機能が実装されてる DBMS 使え。

770 :NAME IS NULL:2007/08/15(水) 00:42:24 ID:???
rsyncで差分転送は効かないの?

771 :NAME IS NULL:2007/08/15(水) 00:53:01 ID:???
マカって無知なのに自覚無いから、周りに居ると迷惑だよな。
無理なものを無理と認識できないのがマカ。自称専門家だけにタチが悪い(w

772 :NAME IS NULL:2007/08/15(水) 00:54:24 ID:???
またおまえか

773 :NAME IS NULL:2007/08/15(水) 01:14:32 ID:???
>>770
ログファイルみたいに単純に追記するタイプのファイルなら差分転送効くけど、
SQLite みたいにファイルの途中も書き換わるタイプのファイル形式だとダメじゃないかな。

774 :リッチャンハ、カワイイデスヨ:2007/08/15(水) 06:03:40 ID:???
>>773
rsyncにはバイナリ差分転送があるでよ

775 :NAME IS NULL:2007/08/15(水) 06:28:40 ID:???
ならそれでいいじゃん!

776 :NAME IS NULL:2007/08/15(水) 07:38:14 ID:ZGw0XGaS
マ・・・カ・・・?

777 :NAME IS NULL:2007/08/15(水) 10:59:50 ID:???
変わるところが、追記されたところと、
indexぐらいなら差分転送が効率よさそうな気がする。
まあ容量次第じゃね?

ちょっといじって、DBを書き換えるSQLを保存するようにして、
それを転送して、リモートでも実行してはどうか。
自前レプリケーションだが。

778 :NAME IS NULL:2007/08/21(火) 18:13:08 ID:veBr/p1H
寂れすぎ

779 :NAME IS NULL:2007/08/23(木) 19:54:53 ID:???
SQLiteって面白いな。あ、スレがあった
と思って遊びに来たら 留守だった

780 :NAME IS NULL:2007/08/23(木) 20:05:12 ID:???
そりゃ何かクエリ発行してもらわないと

781 :NAME IS NULL:2007/08/23(木) 20:43:38 ID:???
insert into [SQLite 5] (ID, name, res) values (NULL, NULL, 'SQLiteって面白いな。あ、スレがあった
と思って遊びに来たら 留守だった')

782 :NAME IS NULL:2007/08/23(木) 23:06:13 ID:???
>>779
留守に忍び込むのは犯罪ですよ

783 :NAME IS NULL:2007/08/24(金) 18:22:13 ID:???
誰か過去スレのログとか持ってないかな。
select * from [SQLite 〜4]

784 :NAME IS NULL:2007/08/24(金) 19:38:45 ID:Bcq7TFwB
SQLiteの脳内イメージ
http://nounaimaker.com/?a=Maker&oo=SQLite


785 :NAME IS NULL:2007/08/24(金) 21:30:56 ID:???
このしょーもない奴色んなスレに張られてるな

786 :NAME IS NULL:2007/08/26(日) 09:51:31 ID:???
>>783
持ってるけど不毛だよ。延々としょうもない
煽りあいばっかで何の役にも立たないよ。

787 :NAME IS NULL:2007/08/26(日) 10:13:44 ID:???
>>786
おまえがなー

788 :NAME IS NULL:2007/08/26(日) 10:31:52 ID:???
>>786
4000レスの全てが不毛ってわけではないでしょう。
その中に少しでも毛が入ってるなら読みたいです。

789 :NAME IS NULL:2007/08/26(日) 13:48:59 ID:???
>>788
3960くらいは不毛だと思うよw

790 :NAME IS NULL:2007/08/26(日) 14:32:55 ID:???
>>789
あとは勇気で補えばいい

791 :NAME IS NULL:2007/08/26(日) 15:03:18 ID:RWaRFn9B
>>786
不毛かどうかじゃなく、
くれるかどうかを知りたいんじゃないか

792 :NAME IS NULL:2007/08/28(火) 09:53:34 ID:???
SQLite の競合になる?

CodeZine:省リソースで軽快に動作する組込向けデータベース「Ultra Light」(データベース, 組込み)
ttp://codezine.jp/a/article/aid/1638.aspx

793 :NAME IS NULL:2007/08/28(火) 12:00:43 ID:???
>>792
高いぞ・・・

794 :NAME 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


795 :NAME IS NULL:2007/08/28(火) 20:26:20 ID:???
>>793
GPLでも使いにくいのに、有料製品なのかそれ

796 :NAME IS NULL:2007/08/29(水) 09:26:21 ID:???
alter table で列削除できないのな。
中途半端なDBだな

797 :NAME IS NULL:2007/08/29(水) 09:31:48 ID:???
>>795
製品を作るんであれば、品質保証もあるしサポートも受けられていいんジャマイカ

798 :NAME IS NULL:2007/08/29(水) 12:57:50 ID:???
インデックスは?

799 :794:2007/08/29(水) 15:22:19 ID:???
自分に対しての質問かわからんがcategory,subjectにインデックスつけてみた。
インサートが2,3割ほど遅くなるが検索は同等もしくは早くなる
SQLiteだとインデックスつけたときに行数が多くなるにつれてインサートスピード若干ずつ伸びてくね。

800 :NAME IS NULL:2007/08/29(水) 17:23:56 ID:???
>>797
残念ながらそういうのが役に立った経験ってほとんど無いんだよね。
で、みんなフリーなDBに流れて行く。w

801 :NAME IS NULL:2007/08/29(水) 20:08:37 ID:???
業務で使わん限りサポートなんてイラネ


802 :NAME IS NULL:2007/08/29(水) 20:35:28 ID:???
SQLでのカラム一覧の取得はどうしたらいいんでしょうか・・・(´・ω・`)

803 :NAME IS NULL:2007/08/29(水) 23:34:11 ID:???
livedoor Blog の裏側
http://pmakino.jp/tdiary/20051213.html#p01
>当初はお金で解決しようとして、某商用 DB (DB2 らしい) と高性能なハードウェアで凌ごうとしたが、
>・(当然だが) 高い
>・高い割に、期待するほどの性能を発揮してくれなかった
>・使い慣れないし、ブラックボックスなので、トラブった時自力で解決できず、ベンダーサポートに頼るしかない
>・サポートも必ずしも満足できるとは限らない
>等々の事情から、結局また MySQL に戻ることにした。

804 :NAME IS NULL:2007/08/29(水) 23:47:04 ID:???
>>797
いや、めいいっぱいフリーソフトなんだ
しかもパブリックドメインの

805 :とかち:2007/08/30(木) 01:24:16 ID:???
>>804
いや、どこでダウンロードできるのよ

806 :NAME IS NULL:2007/08/30(木) 12:25:13 ID:hAaTUNg1
>>802
pragma table_info(テーブル名);

で情報は取れるみたいですが、どうやったら他のSQL文と連携させられるのかわかりません。
いつもはCのAPIのsqlite3_column_name()で取ってるもので。

807 :NAME IS NULL:2007/09/04(火) 10:29:31 ID:???
パブリックドメインなのは、SQLiteだろ。
Ultra LightはSQLAnywhereじゃねーか

808 :NAME IS NULL:2007/09/04(火) 14:38:40 ID:???
なんかキタ

2007 Sep 04 (3.5.0) alpha
ttp://www.sqlite.org/34to35.html

809 :NAME IS NULL:2007/09/04(火) 22:09:41 ID:???
Cから直接触ってる奴がアンチに変貌する予感・・・

810 :NAME IS NULL:2007/09/05(水) 02:23:15 ID:???
C API は変更されてないのになんでアンチに変貌するんだか


811 :NAME IS NULL:2007/09/05(水) 11:06:12 ID:???
Cを知らない人なのだろうね

812 :NAME IS NULL:2007/09/05(水) 12:44:04 ID:???
>>810-811
変更されとるがな。Cインターフェースで非互換があるって
ドキュメントに書いてあるがな。確認しないで脊髄反射で
反論してくるこういう連中まじで不可解だわ。なんなの?

813 :NAME IS NULL:2007/09/05(水) 13:44:58 ID:???
この程度で困るのはCを知らない人では?

814 :NAME IS NULL:2007/09/05(水) 13:55:27 ID:???
>>813
程度の問題ではないだろう
変更が全くないか、しゅこしでもあるかは全然違う

815 :NAME IS NULL:2007/09/05(水) 13:59:23 ID:???
だから、しゅこしでも変更されちゃって困るのはCを知らない人では?

816 :NAME 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のソースをパッチして使っているユーザや、
細かくパフォーマンス調整を行っているユーザ以外は、
困ることはないと思う。

817 :NAME IS NULL:2007/09/05(水) 14:45:18 ID:???
>>815
ライブラリ差し替え時に総チェックだけで済むならいいけど
コードの改変が不可避ですってなったら顧客がいい顔しない
ってのが普通。俺が書いて俺が使うだけならどうでもいい。

818 :NAME IS NULL:2007/09/05(水) 15:05:52 ID:???
>>817
コード改変しないことが顧客の希望なら、安定版(3.4.x)を使い続ければOK。
まあ、API非互換が >816 の内容のみなら、特殊なことをやっているユーザ以外はコード改変不要だと思う。

819 :NAME IS NULL:2007/09/05(水) 15:14:27 ID:???
どうやら >>809 が興奮して先走り汁を出してしまったようだな

820 :NAME IS NULL:2007/09/05(水) 16:05:56 ID:???
>>817
コード改変禁止なら使うライブラリも変えちゃダメじゃないかwww
おまえ意味不明だよ

821 :NAME IS NULL:2007/09/05(水) 16:11:01 ID:???
俺は正体不明

822 :NAME IS NULL:2007/09/05(水) 16:13:44 ID:???
私は意識不明

823 :NAME IS NULL:2007/09/05(水) 19:58:14 ID:???
俺らの名前は NULL

824 :NAME IS NULL:2007/09/05(水) 22:45:38 ID:???
我らは POINTER

825 :NAME IS NULL:2007/09/05(水) 23:35:20 ID:???
ワレワレハ ウチュージンダ


826 :NAME IS NULL:2007/09/06(木) 01:34:33 ID:???
仕事で使ってる香具師は変態。
無料ソフトでサポート無いのに(w

827 :NAME IS NULL:2007/09/06(木) 01:59:47 ID:???
Googleのエンジニアは変態だったのか


828 :NAME IS NULL:2007/09/06(木) 02:32:30 ID:???
>>826
上司の口癖ですか?

829 :NAME IS NULL:2007/09/06(木) 07:14:49 ID:???
Appleのエンジニアも変態

830 :NAME IS NULL:2007/09/06(木) 09:22:26 ID:???
変態リスト
ttp://www.sqlite.org/cvstrac/wiki?p=BigNameUsers

あとSQLiteだって普通に有償サポートやってるぞ

831 :NAME IS NULL:2007/09/06(木) 10:29:36 ID:???
無知は罪なりってな

832 :NAME IS NULL:2007/09/07(金) 01:12:32 ID:???
ムチはSMなり

833 :NAME IS NULL:2007/09/07(金) 20:28:57 ID:???
キムチは韓国ニダ


834 :NAME IS NULL:2007/09/08(土) 14:28:20 ID:oIkAOIKu
ここまでの流れで少し気になったんだけど、SQLiteは決して慈善事業じゃないはず。
OSSではなくPDSにしたのは受益の構造を変えたわけではなく力量に合わせて
そうしただけだと思うのだが。
祝福を与えるというのはもちろん宣伝文句なわけで、それを宣伝文句以上に
受け止めるのはなぜなんだろう。

835 :NAME IS NULL:2007/09/08(土) 14:29:17 ID:???
>>834
日本語で書いていただけないでしょうか?

836 :NAME IS NULL:2007/09/08(土) 14:45:37 ID:oIkAOIKu
>>835
すいません。
どこがわかりにくかったでしょうか?

837 :NAME IS NULL:2007/09/08(土) 14:54:46 ID:???
>>836
はい。どこかわかりにくかったです。

838 :NAME IS NULL:2007/09/08(土) 18:22:29 ID:???
>>834
作者の DRH は思想的にけっこうイっちゃってる人なので
宗教的信念でやってるんだと思われ。


839 :NAME IS NULL:2007/09/08(土) 18:40:20 ID:???
>>838
ツレかよ

840 :NAME IS NULL:2007/09/09(日) 07:22:19 ID:???
アプリケーション組み込み用途だとOSSでもまだ不便だからPDSにしたんだと思うよ
対象アプリケーションのソースツリーに入れる時に
アプリとSQLiteのライセンスが適合するか判断する必要があるだけでも不便。

841 :NAME IS NULL:2007/09/10(月) 11:24:32 ID:ZSvaalBa
>>840
>>838みたいな人が多いんだよねぇ。
どこをどう読めば宗教的信念になるのかさっぱりわからんのだけど。

842 :NAME IS NULL:2007/09/10(月) 11:36:31 ID:???
直接的に金銭を動機としない行動はすべて宗教と考える単純な人なんでしょ

843 :NAME IS NULL:2007/09/10(月) 18:31:17 ID:???
SQLite調べたのですがよくわかりません。
『サーバとしてではなくアプリケーションに組み込まれて利用される軽量データベースである』
とありますが、サーバとして動くのでしょうか?

サーバで動くとして、SQLiteはどの程度広まっているのでしょうか?
(勉強したとして、SQLiteが使えるレンタルサーバがなかったら嫌なので)

844 :NAME IS NULL:2007/09/10(月) 19:00:42 ID:???
勉強って、、使うだけなら5分もあればいいがな・・・
ミドル開発するんじゃあるまいし

845 :NAME IS NULL:2007/09/10(月) 19:18:54 ID:???
>>843
C言語ライブラリ。 SQLを解釈するISAMライブラリといったところか。
unixでいうdaemon、windowsでいうserviceとして単独で動くわけではない。

846 :NAME IS NULL:2007/09/10(月) 22:47:49 ID:VSqb6OQa
>>807->>842までの流れが気持ち悪い
↑おまえら死ね


847 :NAME 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 がインストールされていれば使える。
例えばさくらのレンタルサーバにはインストールされているから使える。

848 :843:2007/09/10(月) 23:46:57 ID:???
>>844-847
ありがと、なんとなくだが解ったよ。

849 :NAME IS NULL:2007/09/11(火) 01:00:52 ID:???
>>841-842
信者乙


850 :NAME IS NULL:2007/09/11(火) 16:23:50 ID:???
とりあえずアンチが発生する程度には SQLite も有名になったってことかな?
みんな丁寧にスルーしてあげてなー

851 :NAME IS NULL:2007/09/12(水) 09:55:21 ID:???
>>850
お前が率先してスルーしろよ

852 :NAME IS NULL:2007/09/12(水) 12:26:39 ID:???
PHP5.1以降はSQLiteは標準で組み込まれない

853 :NAME IS NULL:2007/09/12(水) 21:06:45 ID:???
PHP厨が減るならちょっと嬉しい

854 :NAME IS NULL:2007/09/12(水) 21:50:08 ID:X3W6T7I5
>>852
根拠は

855 :NAME 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 以降では 手動で有効にする必要があります (共有モジュールとしてバンドルされるからです)。

ボクちゃんマニュアル読もうよ。

856 :NAME IS NULL:2007/09/13(木) 18:27:14 ID:???
ほんとだ、標準じゃなくなるのはちょっと困るな

857 :NAME IS NULL:2007/09/13(木) 20:16:37 ID:???
SQLiteマンセー
DLL版をwindowsのsystem32に標準で入れてもいい
レジストリなんかやめて、各ユーザーディレクトリにSQLite DBを置いたらいい

858 :NAME IS NULL:2007/09/13(木) 20:24:12 ID:???
設定ファイルなんぞはini, conv, xmlでいい

859 :NAME IS NULL:2007/09/13(木) 20:33:47 ID:???
> レジストリなんかやめて、各ユーザーディレクトリにSQLite DBを置いたらいい

それは、今各ユーザディレクトリにある ntuser.dat の
内部形式がSQLiteになるって言ってるだけだぞ?
それで何が変わるんだよw

860 :NAME IS NULL:2007/09/13(木) 20:44:49 ID:???
なぜか。
regeditの検索の遅さを観れば、アレがDBとしては考えられていないことがわかる。ただツリーっぽい構造があるだけ。
SQLなら、検索も抽出もできるし、ある種のファイルシステムのようにBLOBデータをぶち込んでもいい。

でもそれがなんに使えるかは判らない。
昔の人は琥珀をこすると静電気が起こることを知っていたが、それがなんに使えるかは長い間誰もわからなかった。

861 :NAME IS NULL:2007/09/13(木) 20:50:45 ID:???
SQLiteにしたらツリーっぽい構造がなくなって困るわけだが。
2つのアプリが同じ名前のDBファイル作ろうとしたらどうすんだ。

862 :NAME IS NULL:2007/09/13(木) 20:53:48 ID:???
それはツリーのノードにも言える。

863 :NAME IS NULL:2007/09/13(木) 21:01:11 ID:???
むしろ、それに「WinFS」って名前を付けて、ファイル操作APIから直接読めるようにして、
Vistaにバンドルしてしまえばよかったんだよ

864 :NAME IS NULL:2007/09/13(木) 21:13:19 ID:???
>>859
確かに性能が良くなるだけで何も変わらないだろうなw

865 :NAME IS NULL:2007/09/13(木) 22:02:13 ID:???
俺なんか良いことを言った希ガス?
VHDみたいにDBをHDDみたいにマウントできて、SELECTクエリを使ったスマートフォルダが作れたら、
検索も集計も一瞬じゃないか
HDDをガーガー鳴らしてインデックスを作成することもない。

866 :NAME IS NULL:2007/09/13(木) 22:11:00 ID:???
つ MacOS

867 :NAME IS NULL:2007/09/13(木) 22:12:44 ID:???
それってspotlightのインデックス検索にSQLiteつかってるだけなんじゃね?

868 :NAME IS NULL:2007/09/13(木) 22:19:59 ID:???
つ libsqlfs

869 :NAME IS NULL:2007/09/13(木) 22:32:03 ID:???
>>868
資料少ないからよくわからんけど面白そうだな?
ファイルシステムをポータブルなDBに閉じ込めてしまえば、将来コンピュータのメモリ階層が劇的に変わって
フラットな64bitアドレス空間にDRAM、フラッシュ、HDDが展開されるようなことになっても、
DBさえコピーすれば別の媒体にバックアップもできて、DBらしくインデックス無しで高速に検索もできる、
なんてことも、技術的には不可能ではないな。
もちろんそのころにはSQLiteではない何かだろうけど

870 :NAME IS NULL:2007/09/13(木) 22:53:03 ID:???
>DBらしくインデックス無しで高速に検索もできる

はぁ?お前、何かしらDBに幻想を抱いてないか?

871 :NAME IS NULL:2007/09/13(木) 23:00:07 ID:???
うん、まさに幻想を抱いているんだよ。
データベースがストレージなら、ネットワーク上のDBMSサーバーはネットワークドライブの供給元みたいな
存在になる。でも、FTPやWindows共有のような現実的なものじゃない。
フォルダ単位でのファイル管理の概念は薄れて、タグ付けされたブログの記事のように、内容は名前と属性で抽出される。
カレントディレクトリという概念がなくなって、すべてのデータが動的に集まったり集計されたりする。
これは幻想的なストレージじゃないの

872 :NAME IS NULL:2007/09/13(木) 23:06:53 ID:???
それから勘違いしないでほしいのが、「インデックス無しで」というのはGoogle Desktopとか
インデックスサービスとかが作ってくれる巨大な検索データベースを無しでってことで、
CREATE INDEX〜 とかやるあのインデックスのことじゃないんよ

873 :NAME IS NULL:2007/09/13(木) 23:08:54 ID:???
MSはそのようなものを計画していたらしいね
結局色々ポシャッたあげくが今のVistaだが

874 :NAME IS NULL:2007/09/13(木) 23:18:39 ID:???
>>873
WinFSはSQL Serverベースという話だったね。
MSがLonghornの構想段階でそこまで考えていたなら、なんてもったいない企画倒れかと感じる。
でも実際、使える仕様なんて責任持ってはまだ誰にも考えられないと思うよ。

875 :NAME IS NULL:2007/09/13(木) 23:53:44 ID:STs/kD64
> SQLiteにしたらツリーっぽい構造がなくなって困るわけだが。
正規化すればいいだけだろ。

876 :NAME IS NULL:2007/09/14(金) 01:05:05 ID:???
>>872
それって CREATE INDEX 〜 のかわりに
CREATE FULLTEXT INDEX 〜するだけじゃね?
どんな DB でも一瞬で検索するには何かしらのインデックスが必要

877 :NAME IS NULL:2007/09/14(金) 01:47:40 ID:???
WMIはモロSQLっぽい引き方出来おるけど
あれはいったい何なんだい?

878 :NAME IS NULL:2007/09/15(土) 01:53:11 ID:???
>>860
> regeditの検索の遅さを観れば、アレがDBとしては考えられていないことがわかる。ただツリーっぽい構造があるだけ。
普通はレジストリは検索することはない。

879 :NAME IS NULL:2007/09/15(土) 03:06:23 ID:???
おまいは幸せだな

880 :NAME IS NULL:2007/09/15(土) 11:31:55 ID:???
「検索」の意味を知らないだけだろ

881 :NAME IS NULL:2007/09/15(土) 11:53:34 ID:???
レジストリはどう考えてもハッシュをたどっていくことしかしないよな?

882 :NAME IS NULL:2007/09/15(土) 14:39:36 ID:???
レジストリ全体から spyware.exe を含む項目を検索して一覧表示できるぞ。

883 :NAME IS NULL:2007/09/15(土) 18:02:25 ID:RucH5tWF
じゃぁ、WindowsではSQLiteの代わりにレジストリ使おうぜ!

884 :NAME IS NULL:2007/09/15(土) 18:03:16 ID:???
はぁ?

885 :NAME IS NULL:2007/09/15(土) 20:33:11 ID:/rl8tKAi
レジストリって、VACUUMできるの?

886 :NAME IS NULL:2007/09/15(土) 21:14:15 ID:???
一応できる

887 :NAME IS NULL:2007/09/15(土) 21:30:02 ID:STKuBrgm
>>855
マニュアルはお前みたいのが読んでくれるから助かるw

888 :NAME IS NULL:2007/09/15(土) 22:07:09 ID:???
>>882
できるけど、普通はそんなことしないだろ?

889 :NAME IS NULL:2007/09/15(土) 23:32:34 ID:???
パラダイムシフトとはそういうことだ
サランラップだって売り出した当初は誰にも使い方がわからなかったw

890 :NAME IS NULL:2007/09/15(土) 23:35:46 ID:???
サランラップの話がしたいのならよそいけ

891 :NAME IS NULL:2007/09/16(日) 00:19:54 ID:???
まったくだな。帰る

892 :NAME IS NULL:2007/09/17(月) 19:23:05 ID:???
今働いてる会社は、SQLiteで業務運営してるんだけど信頼性とかどう思う?
DBサーバでDB→CSVを行って、それみてWebとか運営してる。
なんかあまりDBの意味ない気がするんだが。素人でスマン。

893 :NAME IS NULL:2007/09/17(月) 20:49:50 ID:???
>>892
検索条件がキメ細やかに出来る可能性を持っているという一点だけで
DBの価値はある

894 :NAME IS NULL:2007/09/17(月) 21:28:05 ID:???
なるほど。ありがとう。

895 :NAME IS NULL:2007/09/17(月) 23:42:07 ID:???
確証もない変な脳内妄想してるやつが多いな
レジストリ関係のWin32API見れば大体の事が分かるだろ



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

つか、アンカーつけようよ

897 :NAME IS NULL:2007/09/18(火) 20:27:36 ID:???
>>892
Windowsつかってんでそ?
そんなら信頼性もクソもないから気にするなw


898 :NAME IS NULL:2007/09/18(火) 23:59:38 ID:???
LinuxやFreeBSD使ってりゃ信頼性有るとでも思ってる馬鹿がまだ存在していたのか。


899 :NAME IS NULL:2007/09/19(水) 00:17:21 ID:???
>>897-898
どちらも馬鹿っぽいな

900 :NAME IS NULL:2007/09/19(水) 02:07:18 ID:???
>>895
お前だけだよ。変な妄想しているのはwwww

901 :NAME IS NULL:2007/09/19(水) 14:11:07 ID:???
しかし馬鹿MVPは>>899が輝いたのであった

902 :NAME IS NULL:2007/09/19(水) 22:24:54 ID:???
馬鹿話もいい加減にしろ!
お前らまとめてTRUNCATEしてやる!

903 :NAME IS NULL:2007/09/20(木) 06:32:44 ID:???
VACUUMしないといつまでも沸いてでますよ

904 :NAME IS NULL:2007/09/20(木) 19:53:04 ID:???
俺がツッコんで欲しかったのはそうじゃなくて!

905 :NAME IS NULL:2007/09/22(土) 00:58:52 ID:???
Ω<sqliteにはtruncateないよ

906 :NAME IS NULL:2007/09/22(土) 07:29:47 ID:cYc7BsFu
>>905
命令としては無いけど確か自動でやるんじゃなかったっけ?

907 :NAME IS NULL:2007/09/22(土) 09:01:27 ID:???
WHERE節抜きのDELETE時に自動でやってくれるそうな
ttp://www.sqlite.org/cvstrac/wiki?p=UnsupportedSql

908 :NAME IS NULL:2007/09/22(土) 12:55:05 ID:pQDt4ke/
>>907
それ2003.08.06になってるけど、情報古くない?

909 :NAME IS NULL:2007/09/22(土) 20:10:10 ID:???
古いことがなんかの理由になるのか?

910 :NAME IS NULL:2007/09/22(土) 21:03:25 ID:sbj4/T3T
2004年あたりにpragma使わないと自動でやらなくなったとか

911 :NAME IS NULL:2007/09/23(日) 07:26:00 ID:Aqae30Ei
truncateしてくれないならレジストリ使ったほうがいいな。
レジストリなら複雑な問い合わせでも工夫すれば速いし。

912 :NAME IS NULL:2007/09/26(水) 00:29:51 ID:???
英文の単語単位の前方一致検索がしたくて、抽出条件に Value GLOB '*[^a-z]hoge*' って
してみたけど、単純な Value LIKE '%hoge%' に比べてずいぶん遅いねぇ。何か速くなる方法ないかな?

913 :NAME IS NULL:2007/09/26(水) 00:34:11 ID:???
FTSを使う


914 :NAME IS NULL:2007/09/26(水) 01:10:56 ID:???
それってGLOBでもインデックスが使われるもんなの?
FTSのMATCHでは単語前方一致のような機能はなさそうに見えるけど

勘違いなら俺の尻をぶって叱ってくれ

915 :NAME IS NULL:2007/09/26(水) 10:23:17 ID:???
いやもうね、SQLiteが一番トラブルないってのが不思議なんだよ
V2だけど
SAPにへばりついてるオラクル市ねって感じ

916 :912:2007/09/26(水) 18:41:57 ID:???
すまん単なる最適化不足だ 無視して!

917 :NAME IS NULL:2007/09/26(水) 19:24:57 ID:CF0OeSbD
>>916
いや、日本語の情報が不足してるから、むしろわかったことがあれば
書いてもらったほうがありがたい。

2チャンネルには、そんなことも分かんないのかーwwwっていう天才君が
多いけど、実際使ってる人間はそれなりに苦労して使ってるはずだから。

918 :NAME 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*'

と。最初からもっと頭使えということだな。

919 :NAME IS NULL:2007/09/26(水) 21:23:34 ID:???
>>918
スカウト法 って一般的な言い方なの?
概念はコロンブスの産卵って感じで納得したけど

920 :NAME IS NULL:2007/09/26(水) 21:49:00 ID:???
さっと見て望みのありそうな奴だけを探し出す、スカウト。俺に一般的な用語だったけど、
一般に一般的なのかどうかは考えてなかったかもしれん。なんかの木の効率的な探索で
そんなアルゴリズムがあって、その解説サイトで使ってた用語が染み付いてただけさ

921 :NAME IS NULL:2007/09/27(木) 00:06:24 ID:???
>>920
OK
今この時からこのスカウト法という表現を布教させるわ

922 :NAME IS NULL:2007/09/27(木) 00:40:32 ID:???
「スカウト法」でぐぐると、「スカウト法」は無いけど「ネガスカウト法」というのがあるみたいね。

923 :NAME IS NULL:2007/09/27(木) 00:41:59 ID:???
今後は「スカウト法」でぐぐるとここが出るようになるんだろうな。w

924 :NAME IS NULL:2007/09/27(木) 00:58:34 ID:???
ワロス
この指でまたひとつの罪を犯した!

925 :NAME IS NULL:2007/09/27(木) 00:58:50 ID:???
じゃ俺はスカトロ法を普及させるわ

926 :NAME IS NULL:2007/09/27(木) 06:57:31 ID:???
スカウター法:スカウターの数字をぱっと見て、望みのあるやつを探し出す

927 :NAME IS NULL:2007/09/27(木) 09:45:36 ID:???
なにその夢のメソッド?

928 :NAME IS NULL:2007/09/27(木) 09:49:53 ID:???
それってどんなベジータ?

929 :NAME IS NULL:2007/09/29(土) 00:40:44 ID:3wjr94nz
でもスカウト法メッチャ便利だな
目からうろこってまさにこのことだと思った

930 :NAME 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


931 :NAME IS NULL:2007/10/03(水) 19:17:22 ID:???
修正内容。

cygwinでコンパイルできるように、return文にセミコロンをつけた。

932 :NAME IS NULL:2007/10/05(金) 03:26:02 ID:???
sqlite-users で drh が「スレッド=悪」とか言って大暴れしてて笑えるw


933 :NAME IS NULL:2007/10/05(金) 14:03:07 ID:???
暗号化実装したフリーの改良版はないの?

934 :NAME IS NULL:2007/10/05(金) 16:24:47 ID:???
無い。

935 :NAME IS NULL:2007/10/05(金) 17:47:05 ID:???
見つけた

936 :NAME IS NULL:2007/10/05(金) 19:29:58 ID:???
SQLServerExpressとSqliteで同じような処理(joinなどを含まない、select,insert,update)を行った場合に、Sqliteのパフォーマンスが、トータル時間でSqlserverの6,7割と若干早いのですが、こんなものでしょうか?
処理内容によっていろいろと変わると思いますが、参考意見あればお願いします(´・ω・`)

937 :NAME IS NULL:2007/10/05(金) 21:08:13 ID:???
>>936
トランザクションをきちんとやらないとベリースローです。

938 :936:2007/10/05(金) 21:24:31 ID:???
トランザクションは入れてます。

939 :NAME IS NULL:2007/10/05(金) 21:27:46 ID:???
そりゃそうだ

940 :NAME IS NULL:2007/10/05(金) 23:04:20 ID:???
>>936
これは参考意見だが、処理内容によっていろいろと変わると思うよ。

941 :NAME IS NULL:2007/10/07(日) 20:06:16 ID:???
2007-Oct-04 - Version 3.5.1

942 :NAME IS NULL:2007/10/08(月) 16:03:54 ID:???
某ファイルの処理してて5000件丸ごとトランザクションにほりこんで最後にコミットしたら10秒で終わってワロタ
それまで100秒くらいかかってたのに^^;

943 :NAME IS NULL:2007/10/08(月) 16:12:43 ID:???
5000件で10秒って遅すぎないか?

944 :NAME IS NULL:2007/10/08(月) 16:34:45 ID:???
戯言に突っ込み入るとは思わなかった・・・
ちなみにファイルはTrueCryptのコンテナに入れてるんすよ

945 :NAME IS NULL:2007/10/08(月) 16:47:15 ID:???
落ちないこと前提だけど、
PRAGMA synchronous = OFF;
にチャレンジしてほしい。

946 :NAME IS NULL:2007/10/08(月) 17:00:37 ID:???
ベンダーのエンジンは最初から暗号化してる件

947 :NAME IS NULL:2007/10/08(月) 17:08:59 ID:???
wxSqlite3
http://wxcode.sourceforge.net/components/wxsqlite3/

wxWidgetsのwrapperだけどMD5暗号に対応してる

948 :942:2007/10/08(月) 17:18:03 ID:???
すげぇややこしくなったな
・5000個のテクストファイルがある(これらのファイルが暗号化してある)
・1つのファイルをいろいろ処理したものを1レコードとして登録する
ごめんね

949 :NAME IS NULL:2007/10/08(月) 17:47:50 ID:???
みんなベンチマークしかしないんだよw

950 :NAME IS NULL:2007/10/08(月) 17:48:33 ID:???
テクストww

951 :NAME IS NULL:2007/10/08(月) 19:06:39 ID:???
wxSqlite3
http://wxcode.sourceforge.net/components/wxsqlite3/

訂正
暗号方式はAESのようだ
商用パッケージとかぶるので自己責任で使えと書いてある

952 :NAME IS NULL:2007/10/08(月) 19:10:14 ID:???
正確にはMD5+RSA+AES
ちなみにSqliteレベルでの改造でdllが同封されてる
wxWidgetsのラッパを使わなくても直接使えそう

953 :NAME IS NULL:2007/10/08(月) 19:15:40 ID:???
wxWidgetsは権利ほとんど放棄のライセンスだから
純粋にSqliteライセンスに従ってOK

954 :NAME IS NULL:2007/10/13(土) 18:04:43 ID:scvTFNaQ
sqliteで特定フォルダ内の全ファイル名についてのテーブルを作りたいんですが、
やっぱりFindFirstFileとかは自分でやる必要ありますか?
(そういうファイル検索関係の機能はsqliteにありませんか?)


955 :NAME IS NULL:2007/10/13(土) 18:39:38 ID:???
ありません。

956 :NAME IS NULL:2007/10/13(土) 19:18:39 ID:???
ありがとうございました。
これからシコシコします。

957 :NAME IS NULL:2007/10/13(土) 19:24:59 ID:???
ふぅ。今アタマの中が世界平和の事でいっぱいです(^^)

958 :NAME IS NULL:2007/10/19(金) 15:47:13 ID:y19b4TGj
初歩的な質問なのですが、教えてください。

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

バージョンは 2.8.17 (PHP5のバンドル版) です。

959 :NAME 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';


960 :NAME IS NULL:2007/10/19(金) 16:53:24 ID:y19b4TGj
>>959
勘違いだったようです。
どうもありがとう。助かりました。


961 :NAME 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だと動くと思うのですが、相関副問い合わせはサポートされてないって事ですかね。

962 :NAME IS NULL:2007/10/19(金) 17:39:49 ID:???
>>961
3.5.1でそれ試したら普通に動いたが。


963 :NAME IS NULL:2007/10/19(金) 17:52:57 ID:y19b4TGj
>>962
そうですか。SQLite が成長してるのは喜ぶべきなんでしょうね。
自分のは、PHP5のデフォルト環境のままで使えるようにしたいので、SQLite2で頑張ってみます。

どうもありがとうございました。

964 :NAME IS NULL:2007/10/19(金) 21:57:23 ID:???
これだからPHP厨は嫌われるのだ

965 :NAME IS NULL:2007/10/19(金) 23:50:20 ID:???
>>964
問題はID:y19b4TGjの書き方だな。PHP標準のSQLite2という制約があるなら始めに書けよという。

別にPHP標準のSQLite2という制約でやりたいというのは厨でもなんでもないだろ
レンタルサーバーとかだったら当然そうなったりする可能性ある。

966 :NAME IS NULL:2007/10/20(土) 00:34:22 ID:???
え、PHP 付属の SQLite って2だったんだ…

967 :NAME IS NULL:2007/10/20(土) 00:34:58 ID:kvJpw6Cb
>>965
すんません。

>>958 にバージョン書いておいたから、それで十分かと思ったもので。

968 :NAME IS NULL:2007/10/20(土) 05:45:14 ID:???
>965 は日本語をもっと理解できるように頑張るべきだ

969 :NAME IS NULL:2007/10/20(土) 06:41:23 ID:???
>>966
PHP5.1くらいからSQLite3になった。

970 :NAME IS NULL:2007/10/20(土) 13:36:57 ID:???
古いもの使ってる人は文句言っちゃいけないと思います

971 :NAME IS NULL:2007/10/20(土) 14:40:18 ID:kvJpw6Cb
>>969
そうなの? PHP5.2.0 使ってるけど、SQLite は 2.8.17 が入ってた。
SQLite3を使うことはできるけど、標準バンドルはされていないんじゃない。

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

>>970
そんな気はないんだけど、文句に聞こえてたらごめんね。

972 :NAME IS NULL:2007/10/20(土) 16:04:11 ID:???
>>970
自分が書いてるわけでもメンテしてるわけでもないのに
なんでそんなに偉そうなの?

973 :NAME IS NULL:2007/10/20(土) 16:45:31 ID:???
V2でもじゅうぶんですよ

974 :NAME IS NULL:2007/10/20(土) 18:15:32 ID:???
>>972
ただの昔から言われてる教訓だよ

975 :NAME IS NULL:2007/10/20(土) 19:44:55 ID:???
>>972
ずいぶん偉そうですねwww

976 :NAME IS NULL:2007/10/20(土) 22:48:52 ID:???
>>975
キミ中学生?

977 :NAME IS NULL:2007/10/21(日) 00:09:03 ID:???
オレ小学生

978 :NAME IS NULL:2007/10/21(日) 01:19:39 ID:???
ぼくさんさい

979 :NAME IS NULL:2007/10/21(日) 03:08:30 ID:???
ちゆ12歳

980 :NAME IS NULL:2007/10/21(日) 13:10:20 ID:???
ゆとり教育世代が来るようになったらどんなスレも崩壊する

981 :NAME IS NULL:2007/10/23(火) 10:45:36 ID:???
.NET C#で開発しています。

PCの内部情報を集めてデータ挿入するんですが、
列を可変長にしたい場合って、なんかやり方
ありませんかね?

ネットワークカードが複数刺さってるPCもあるので、
ネットワークカード一つに対し列を一つ割り当てようと
すると、1〜Nまで列が必要になります(ネットワーク
カードの列にはIPアドレスやMACアドレスなどの値を
入れます)。

テーブル設計の話になると思うので、スレ違いなら
誘導ヨロ。


982 :NAME IS NULL:2007/10/23(火) 10:50:08 ID:???
>>981
どんなテーブルなのか知らんが、テーブル設計が根本的に間違ってると思われ。

983 :981:2007/10/23(火) 11:09:57 ID:???
やっぱそうだよなぁ…。
可変なデータどうすりゃいいねん。

一つの列に入れるとSELECTで持っ
てくるときが大変なんだよなぁ…。

984 :NAME IS NULL:2007/10/23(火) 11:12:04 ID:???
1レコードに1個のネットワークカード情報が入ってるテーブルを作って
情報の中にどのPCに刺さってるかも含める。

985 :NAME IS NULL:2007/10/23(火) 11:37:53 ID:???
thx.

986 :NAME IS NULL:2007/10/23(火) 11:48:33 ID:???
っていうかコレ正規化の基礎じゃん。
第一正規化出来てない漏れモウダメポ。orz



987 :NAME IS NULL:2007/10/23(火) 11:58:21 ID:???
>>981
host: id, hostname
nic: id, host_id, mac_address
ip_address: id, nic_id, address

ひとつのネットワークインターフェイスに複数のアドレスが振られる可能性もあるから
こんな感じかねえ。

988 :NAME IS NULL:2007/10/23(火) 12:01:51 ID:???
ホスト名は物理的なPCじゃなくてIPアドレスに付いてるんだじょ

989 :NAME IS NULL:2007/10/23(火) 12:41:40 ID:???
>>987-988
thx.
テーブル設計見直します。


990 :NAME IS NULL:2007/10/23(火) 12:52:47 ID:???
そろそろ次スレが欲しいと思う今日このごろですが、皆さんいかがお過ごしですか?

991 :NAME IS NULL:2007/10/23(火) 14:30:08 ID:???
>>990
おお、素晴らしい。よろしくお願いします。

992 :NAME IS NULL:2007/10/23(火) 14:41:15 ID:???

http://pc11.2ch.net/test/read.cgi/db/1193118037/

177 KB
■ このスレッドは過去ログ倉庫に格納されています

★スマホ版★ 掲示板に戻る 全部 前100 次100 最新50

read.cgi ver 05.02.02 2014/06/23 Mango Mangüé ★
FOX ★ DSO(Dynamic Shared Object)