Cloudflare D1を使ってて、DrizzleORMでマイグレーションを作成してたときのこと。 ふと作成されたマイグレーションのファイルを見ると、空っぽな上にこう書かれてた。 /* SQLite does not support "Creating foreign key on existing column" out of the box, we do not generate automatic migration for that, so it has to be done manually Please refer to: https://www.techonthenet.com/sqlite/tables/alter_table.php https://www.sqlite.org/lang_altertable.html Due to that we don't gene
SQLite is often misconceived as a "toy database", only good for mobile applications and embedded systems because it's default configuration is optimized for embedded use cases, so most people trying it will encounter poor performances and the dreaded SQLITE_BUSY error. But what if I told you that by tuning a
前から気になっていた Litestream を Cloud Run で使ってみたので、そのメモです。 Litestream とは? サンプルコード 手順 動作確認してみる 制限事項 おまけ まとめ 参考 Litestream とは? Litestream は、 SQLite のデータベースファイルを Amazon S3 や Google Cloud Storage などのオブジェクトストレージにリアルタイムでレプリケートすることができるオープンソースのツールです。 例えば通常 Cloud Run で DB エンジンとして SQLite を使用しようとしても、コンテナが破棄されると同時に毎回 SQLite のデータベースファイルも消えてしまうため、データを永続化することができません。 しかし Litestream を使用すれば、 SQLite のデータベースファイルをオブジェクトストレージに
A lot of the work I’ve been doing the last several months is optimizing performance for NetNewsWire for iPhone. The changes haven’t shipped yet, because I’m not quite finished. But one part of this might be interesting to other developers, so I figured I’d write it up. I optimized as much as I could, spent tons of time in Shark, went all multi-threaded with Core Data, switched away from my own que
MySQLとSQLite(PrinCo.)という記事経由で、生まれ変わるPHP - Zend Engine 2、SQLiteの実力は?(MYCOM PC WEB)という記事を読んだ。 MySQL と SQLite で INSERT 時の処理速度が公開されている。 1000件のレコードのINSERTを実行し、それぞれにどれぐらいの時間がかかっているかを示しているのだ。 MySQLが 0.4秒、SQLite が 16秒だというのだが、これはあまりにもひどすぎる。しかも、結論としてどうやら大量データの連続挿入はSQLiteの不得意な処理のようだ。と書かれている。1000件程度でこんなにかかるんだったら、10000件だったら160秒ぐらいかかる(単純すぎ。)って事? 実はこれにはからくりがあって、SQLite の処理は トランザクション の中でないと著しく遅いのだ。おそらく、これが原因なのではない
SQLiteとは Python2.5には、標準でSQLiteという軽量データベースが含まれている。 SQLiteは、JAVAでいうところのHSQLDBやApache Derbyのような感じのようである。 SQLLiteはデーモンやサービスではなく、スタンドアロンでのみ動作する。(DerbyやHSQLDBは組み込みモードとサーバーモードの両方をもつが。) また、データベースのストアもディスク上の単一ファイルになる。 Windowsでいうところの、ACCESS95〜2000で使われていた、JETデータベースエンジンのMDBファイルのような感じであろうか。 要するに単なるライブラリである。 ライセンスは、なんとパブリックドメイン(著作権放棄)である。 そのため、Pythonに限らず、C/C++、Perl、PHPなどに広く組み込まれている。 Python2.4まではアドオンとして別途インストールす
ここを参照して実験してみた。 2006-12-02 例えば以下のようなトランザクションしない場合と、 ケース1 from sqlobject import * import sys, os db_filename = os.path.abspath('data.db') if os.path.exists(db_filename): os.unlink(db_filename) connection_string = 'sqlite:' + db_filename connection = connectionForURI(connection_string) sqlhub.processConnection = connection class Person(SQLObject): firstName = StringCol() middleInitial = StringCol(len
id:nishiohirokazuさんがweb.pyを試してみてるようです。 web.py - 西尾泰和のはてなダイアリー web.pyはおっしゃるとおり、かなり見よう見まねで使えるアプリなのですが、いろいろ注意して使わないとはまる箇所があります。 Welcome to web.py! (web.py) 特にDBにはまる箇所がたくさんあるので、もう僕はweb.pyのDB機能は使うことをすっぱりあきらめて全てSQLobjectを使うことにしました。SQLObjectはPythonの標準的なO/Rマッパーで、完成度が高いです。SQLiteもPython2.5で標準モジュールとなったsqlite3を直接叩くのではなくSQLObjectから使った方が幸せになれそうです。 SQLObject — SQLObject 3.9.1 documentation そういえば、2週間くらい前SQLObject
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く