FC2ブログ
Selected category
All entries of this category were displayed below.

もう常識かもしれないけど、
Mysqlと同じつもりでSqliteを使ったら痛い目にあった

教訓1:sqliteのINSERT OR REPLACE INTOは激重、使い物にならん
メモリーにロードして自分で比較した方がマシ

教訓2:sqliteのINSERTはトランザクションしないと激重、使い物にならん
トランザクションしてからINSERTしょう

教訓3:Sqliteのトランザクション中selectをやると激激重、やりすぎるとCommitできなくなる
トランザクションの前にselectしちゃおう



スポンサーサイト

テーマ:データベース - ジャンル:コンピュータ


SODEC(ソフトウェア開発展)に行ってきた。

sodec

相変わらずの盛況ぶり。

目当ての一つである開発環境系ツールはこれといった新しいものがなく、
プロジェクト管理ツールや検索エンジンを中心に2時間ほど回ってきた。

一番記憶に残ったのは「Core Saver」という名前のオンメモリーデータベース。
すべてのデータをオンメモリーすることで、理論上の最速検索をできるようにするシステム。

ServerClient限定であることが自分にとってかなりおしい。
SQLLiteのように、ユーザーのローカル環境で手軽にオンメモリーDBを実現できたら、
いろんな使い道が出てくるのに・・・

もちろん、これはあくまでも今自分がほしい機能なので、
オンメモリーDBが不便ということではない(汗

今後の発展には大きく期待できそう。

検索エンジンは「QuickSolution」が幅広くカバーできて使いやすそうだったけど、
テストできないので詳しくは分からず。

プロジェクト管理系のツールは相変わらず「deskNet's」が強し、さらに洗練された感じ。

"大量なデータを高速検索したい"
その需要がますます大きくなってきたと感じた今回のSODECであった。


テーマ:データベース - ジャンル:コンピュータ


今回の目的はいままで作ったWebサービスの完全Unicode化なので、
DBにアクセスするソースを全部UTF-8に合わせないといけない。

まずはjavaサーブレットとjsp。

「CharsetConverter」でjavaとjspのファイルを全部UTF-8にコンバートしてから、
ソースの中に書かれているsjisを使っているところをUTF-8に変更。

java:
Connection:"...?useUnicode=true&characterEncoding=utf8";
Request:req.setCharacterEncoding("UTF-8");
Response:res.setContentType("text/html; charset=UTF-8");


jsp:
Page:<%@page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
Head:<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">


まぁ、このぐらいかな。

変えた後のページを開いてみると、ちゃんと文字化けなしで表示されているじゃないか。
試しに中国語、韓国語、ドイツ語を書いて(貼り付けて)みても大丈夫だった。

めでたしめでたし^^

つづく...


テーマ:データベース - ジャンル:コンピュータ


Unicodeの対応がますます必須となってきており、
いままでメインで使ってきたMySQL4.0と決別する時がとうとうやってきた。

移行で文字化けするなどあんまり良い噂聞かなかったけど、
やってみたら結構すんなりと移行できた。

まず、「MySQL Community Server」をダウンロードし、
解凍して出てきたインストーラーを実行。

しばらくMySQL4.0と共存させたいので、インストールオプションは
* Best Support For Multilingualism (UTF-8)
* Service Name -- MySQL5 (MySQL4と違うサービス名にする)


今回はローカル開発に使うだけなので、
インストールが終了したあと、勝手に起動しないようにサービスからMySQL5を"手動"にして、
かわりに"net start mysql5"を書いたbatファイルと
"net stop mysql5"を書いたbatファイルを用意して起動終了するようにした。

これでMySQL4.0サービスとMySQL5.0サービスを同時起動しなければ、
ODBCドライバーが自動的いま起動している方のサービスに接続してくれて、
共存できてかなり便利。

次は4.0にあるSJISのデータベースを5.0へ移行。

1.MySQL4.0サービスを起動

mysqldump --opt -B -u root -p foo > foo.sql
でDBをすべてダンプ。

2.「CharsetConverter」というフリーツールで

そのダンプファイルの文字コードをUTF-8に変換。(※ここ重要)

3.MySQL4.0サービスを終了

4.MySQL5.0サービスを起動

mysql -u root -p < foo.sql
でめでたくデータの移行は完了。

つづく...


テーマ:データベース - ジャンル:コンピュータ



| HOME |


Design by mi104c.
Copyright © 2019 ライフハック マイ ライフ, All rights reserved.