ChangeLog 最新ページ

ToDo - KazLog ChangeLog

最終更新時間: 2009-05-28 23:58

2009-02-08 Sun

pukiwiki の内容も、ChangeLogに移す? [ToDo]

2009-02-01 Sun

Install inkscape on FC5 [Linux][ToDo]

追記。Linux OSクリーンインストール直後の状態でのやりかた。

// # yum remove ImageMagick.i386

# cd /mnt/cdrom/RPM

# rpm -Uhv ghostscript-devel-8.15.1-7.i386.rpm lcms-devel-1.15-1.2.1.i386.rpm ImageMagick-* perl-DateManip-5.44-1.2.noarch.rpm

# yum install inkscape

2008-05-05 Mon

~/usr/script/pkwk2cl.pl [ChangeLog][ToDo]

pukiwiki -> changelog

出力したファイルが、なぜかchalowにchangelogだと認識してもらえない。

now pending

2008-05-05 Mon

Tab Width [ChangeLog][ToDo]

;;; http://at-aka.blogspot.com/2005/11/changelog-tab.html

;;; http://www.netlaputa.ne.jp/~kose/Emacs/Mule-Win32/main.html <- todo

^L

;;; Local Variables: ***

;;; mode: change-log ***

;;; tab-width: 4 ***

;;; left-margin: 4 ***

;;; End: ***

2008-03-23 Sun

MySQL FULLTEXT vs. INSERT/UPDATE トレードオフ [ToDo][MySQL]

  • SELECT MATCH (title_kakasi) AGAINST ('0000'),MATCH (comments_kakasi) AGAINST ('0000') FROM file_data WHERE MATCH(title_kakasi) AGAINST('0000') OR MATCH(comments_kakasi) AGAINST('0000');
    • を行いscoreを獲得したいとき,title_kakasiとcomments_kakasiはFULLTEXTでないといけない
  • しかし,FULLTEXTであると,INSERT/UPDATEで異常に重くなる.
  • INDEX を削除するため以下を用いると,
    • ALTER TABLE file_data DROP INDEX comments_kakasi
      • を行うと,30秒ほど時間を要する.
    • ALTER TABLE file_data DROP INDEX title_kakasi
      • を行うと,15秒ほど時間を要する.
    • ALTER TABLE file_data ADD INDEX comments_kakasi など,ADDの時間を考慮すると,総計1分半に1度くらいしか登録できないので,現実的では無い.
  • uri,title_kakasi,comments_kakasiを別テーブルにコピー
    • して隔離しようとも考えたが,結局FULLTEXT化されたテーブルにINSERT/UPDATEを繰り返すことになるので,パフォーマンスのアップに繋がるかどうかは極めて疑問.
  • Senna

$ rpm -qa | grep -i mysql

79:MySQL-python-1.2.0-3.2.2

283:mysqlclient14-4.1.14-4.2

415:perl-DBD-MySQL-3.0002-2.2.2

451:libdbi-dbd-mysql-0.8.1a-1.2.1

567:mysql-devel-5.0.18-2.1

568:php-mysql-5.1.2-5

701:mysql-5.0.18-2.1

737:mysql-connector-odbc-3.51.12-1.2.1

942:mysql-server-5.0.18-2.1

1001:mysqlclient14-devel-4.1.14-4.2


$ sudo rpm -e mysql mysql-server mysql-devel

error: Failed dependencies:

libmysqlclient.so.15 is needed by (installed) perl-DBD-MySQL-3.0002-2.2.2.i386

libmysqlclient.so.15 is needed by (installed) dovecot-1.0-0.beta2.7.i386

libmysqlclient.so.15 is needed by (installed) mysql-connector-odbc-3.51.12-1.2.1.i386

libmysqlclient.so.15 is needed by (installed) libdbi-dbd-mysql-0.8.1a-1.2.1.i386

libmysqlclient.so.15 is needed by (installed) php-mysql-5.1.2-5.i386

libmysqlclient_r.so.15 is needed by (installed) MySQL-python-1.2.0-3.2.2.i386

libmysqlclient_r.so.15 is needed by (installed) mysql-connector-odbc-3.51.12-1.2.1.i386

mysql is needed by (installed) MySQL-python-1.2.0-3.2.2.i386

mysql is needed by (installed) libdbi-dbd-mysql-0.8.1a-1.2.1.i386


$ sudo rpm -e mysql mysql-server mysql-devel perl-DBD-MySQL dovecot mysql-connector-odbc libdbi-dbd-mysql php-mysql MySQL-python


$ sudo rpm -i mecab-0.96-tritonn.1.0.9.i386.rpm

$ sudo rpm -i mecab-ipadic-2.7.0.20070801-tritonn.1.0.9.i386.rpm

$ sudo rpm -i senna-1.1.0-tritonn.1.0.9.i386.rpm

$ sudo rpm -i MySQL-shared-5.0.51a-tritonn.1.0.9.i386.rpm

$ sudo rpm -i MySQL-client-5.0.51a-tritonn.1.0.9.i386.rpm

$ sudo rpm -i MySQL-server-5.0.51a-tritonn.1.0.9.i386.rpm


$ cd /media/disk/Fedora/RPMS

$ sudo rpm -Uhv perl-DBD-MySQL-3.0002-2.2.2.i386.rpm dovecot-1.0-0.beta2.7.i386.rpm mysql-connector-odbc-3.51.12-1.2.1.i386.rpm libdbi-dbd-mysql-0.8.1a-1.2.1.i386.rpm php-mysql-5.1.2-5.i386.rpm MySQL-python-1.2.0-3.2.2.i386.rpm


$ mysql

mysql> ALTER TABLE file_data ADD FULLTEXT INDEX ft USING SECTIONALIZE (title_kakasi,comments_kakasi);

mysql> SELECT MATCH(title_kakasi,comments_kakasi) AGAINST("*D+ *W1:3,2:2 A5EDA5EA B5F0C6FD") AS score FROM file_data WHERE MATCH(title_kakasi,comments_kakasi) AGAINST("*D+ *W1:3,2:2 A5EDA5EA B5F0C6FD" IN BOOLEAN MODE) ORDER BY score DESC LIMIT 10;

Empty set


# 問題点

# 1) どうも *D+ と *W を並行して使えないようだ.

# 2) また,*D+を取り除いてみたが,scoreが整数の値しか返ってこない.

# 結論

# SECTIONALIZEは使用せず,scoreに関しては従来のMySQLに任せる

#


# ALTER TABLE file_data ADD FULLTEXT ft_file_data_comments_kakasi (comments_kakasi);

# ALTER TABLE file_data ADD FULLTEXT ft_file_data_title_kakasi (title_kakasi);

# ALTER TABLE img_data ADD FULLTEXT ft_img_data_comments_kakasi (comments_kakasi);

# ALTER TABLE img_data ADD FULLTEXT ft_img_data_title_kakasi (title_kakasi);

# ALTER TABLE yourfilehost_data ADD FULLTEXT ft_yourfilehost_data_comments_kakasi (comments_kakasi);

# ALTER TABLE yourfilehost_data ADD FULLTEXT ft_yourfilehost_data_title_kakasi (title_kakasi);

# ALTER TABLE tag ADD FULLTEXT ft_tag_kakasi (kakasi);


  • - mysqldumpで 88MB のdumpファイルが,インポートすると,1.3GBにまでふくれあがる.
    • MATCH AGAINSTで返されるスコアが,小数点以下が切り捨てられた整数で返される.