So-net無料ブログ作成

SQL 文を試す sqlfiddle.com [RDBMS]

どこがどういう理由で費用負担してるのかよくわからないのだが、
http://sqlfiddle.com/
というのがあるということを教えてもらった。

上のメニューからデーターベースの種類を選んで、(デフォルトは MySQL 5.6)
左上のペインで CREATE TABLE 文と INSER 文でデータを作成して
右上のペインで SELECT すると、下に結果が出る。


MySQL, PostgreSQL, SQLite の他に
Oracle 11gR2 と MS SQL Server 2014 が使えるらしい。
ありがたい

コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

PostgreSQL の pg_tgram についての覚え書き [RDBMS]

LIKE 演算子で、文字列が含まれているものを探したいというのは繰り返し出てくる

PostgreSQL にそんなの標準で入ってるんじゃなかったっけ?(良く知らない)ということで調べた

PostgreSQL 9.xにおける日本語全文検索について調べてみた
http://longkey1.net/blog/2013/05/08/about-japanese-textsearch-on-postgresql9/

pg_tgram のことだったみたい
http://www.postgresql.jp/document/9.2/html/pgtrgm.html
http://aoyagikouhei.blog8.fc2.com/blog-entry-255.html

中間一致検索でインデックスを使う
http://postgresql.at.webry.info/200803/article_1.html

PostgreSQL 9.x に pg_trgm を後から追加
http://d.hatena.ne.jp/furyu-tei/20140117/1389954589

RDS で使えるか→使えるっぽい
http://pgsqldeepdive.blogspot.jp/2013/11/rds-for-postgresql.html
http://recipe.kc-cloud.jp/archives/5012

コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

MySQL で日付、時刻の足し算 [RDBMS]

こういうのっていつもわかんなくなる。
Google で検索しても、 PHP での日付処理とかはでても MySQL の SQL 文で処理するのはなかなか出てこないなぁ。
http://answers.oreilly.com/topic/165-how-to-add-date-or-time-values-in-mysql/

今回やりたかったのは、「同じ日の 12:00 に設定しなおす」みたいな処理なので

update some_table set foo_date = timestamp(date(foo_date), '12:00');

みたいな感じにしたけど、こういう演算がもっと自由自在にできるようになりたいもんだ。

自分の /etc/my.cnf を記録しておく [RDBMS]

[client]
default-character-set = utf8

[mysqld]
default-storage-engine=InnoDB
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
ft_min_word_len=1

[mysqldump]
default-character-set = utf8

[mysql]
default-character-set = utf8

PostgreSQL や Firebird で自動採番された主キーの値を INSERT 時に知る [RDBMS]

・SQLite3 で id INTEGER PRIMARY KEY
・MySQLで id AUTO_INCRIMENT PRIMARY KEY
としておくと、cursor.execute() の後の cursor.lastrowid で、id の値が取ってこれる(Python的に)。
http://www.randynetwork.com/blog/46
それは知ってた。

んでもって、PostgreSQL(psycopg2) でも lastrowid って、とってこれるんだけど、それって oid で、主キーの値でないんだよねぇ、と思っていたら、PostgreSQL 8.2 から INSERT文 にRETURNING 句というのを付けると好きな値を取ってこれるらしい。
http://lists.initd.org/pipermail/psycopg/2008-July/006112.html

そして、Firebird でも 2.0 から使えるようになっていて、しかも FAQ。
http://www.firebirdfaq.org/faq243/
ちょっと試してみたところ、 kinterbasdb でも値が取得できる。

うーん、知らんかった。

ちなみに、Firebird 2.0 以降では、トリガーを使わなくてもシーケンス番号を設定することができるようになったので、これと組み合わせればシーケンス番号の追加のためだけのトリガーを作成しなくてもよくなる。
http://nakagami.blog.so-net.ne.jp/2006-04-01

Fusion IO アーリーアダプター(というかチャレンジャー?) [RDBMS]

いつもながら、Firebird News 経由
http://www.firebirdnews.org/?p=3381

http://sourceforge.net/mailarchive/message.php?msg_name=C3A0571DD64C48CC9A102817399D1C2D%40Tabulex.local

4 processor Opteron 850/16G Ultra320 15krpm 8 disk RAID の環境から
Quad Core の 2 CPU FusionIO の ioDrive 80G のうち 40 G を使う環境に変えたら
時間のかかるクエリで 8 秒だったのが 4 秒になったよ

・・・ってチャレンジャーだなぁ。
FusionIO
http://kakaku.com/pc/ssd/ma_2410/
ioDrive 80G
http://kakaku.com/item/K0000046111/

Firebird と PostgreSQL のどっちがいいの? [RDBMS]

StackOverFlow の質問
http://stackoverflow.com/questions/1331946/what-do-you-guys-think-of-postgres-and-firebird-databases

Windows 2003 .NET Framework 3.5 で Firebird と PostgreSQL でどっちがいい?という質問
バイアスのかかった回答を排除すると

・.NET Framework のドライバなら Firebird のがいい
・PHP とか Python なら PostgreSQL のドライバの方がいい
確かに、PHP の Firebird のドライバはかなりダメダメという話は聞いたことがある。
Python のドライバ(psycopg2)は開発体制がかなり手厚い。

ここまで、サーバーについての明確なこっちのがいいという回答なし。
性能的には、だいたい似たようなものではないかと思う。
Firebird は、バックアップ&レストアを定期的にやらないとデータがどんどんでっかくなっちゃうけど、 PostgreSQL だと(vacuum すれば)そんなことない、ということを言ってる人はいる。
Windows なら Firebird の方が歴史が長いという意見もあるが、現在の PostgreSQL の Windows 版が不安定だという意見は出てない。

StackOverFlow のデータベースは SQLServer だそうだが、
http://www.publickey.jp/blog/09/stackoverflowcom4pc.html
これくらいの規模で Firebird 使ってくれるひといないかな。

Firebird がどれぐらい流行ってるか調べた [RDBMS]

Google Trends で(MySQL にはとてもかなわないので)PostgreSQL と Firebird について比較してみた(12ヶ月)。世界中だと・・・
pg_fb_world.PNG
おー、よしよし、頑張ってるな。
日本は、PostgreSQL のが強いから日本で限定すると多少は負けるかな・・・
pg_fb_japan.PNG
0.03・・・普通の人は Firebird って知らないんだ。

Ubuntu 9.04 で kinterbasdb3.3 をソースからビルド [RDBMS]

http://nakagami.blog.so-net.ne.jp/2009-05-09 のときに、 KInterbasDB 3.2 をパッケージからインストールしてソースを修正したが、 3.3.0 をソースからインストールしている人をたまたま発見したのでメモっておく
http://mapopa.blogspot.com/2009/02/firebird-python-howto-on-ubuntu-wget.html

$ sudo apt-get install python-dev firebird2.1-dev
をすれば kinterbasdb をソースからインストールできる、ということ。

Firebird の DB に接続しているユーザーを知る [RDBMS]

http://forums.devshed.com/firebird-sql-development-61/query---find-count-of-active-connections-191785.html
http://groups.yahoo.co.jp/group/Firebird-jp-general/message/2133?threaded=1&expand=1
いつか使うかどうかわからんけど、たまたま発見したのでメモ。
ちなみに、 isc_database_info() で ODS の major/minor バージョンを知ることもできる。