ちんちんの話題でレスが流れまくって追えなくなるんならまだしも、もともと過疎なんだからそんなに気にすることもないと思うけど
Spiderってそんな必死になってまで使うもんなのかな?
お遊びで試すならいいけど、永久開発版ってイメージが。
>>943 ビルドの話になるとちんぷんかんぷんなので
ちんちんの話と区別がつかないんじゃないかな
946 :
NAME IS NULL:2013/07/26(金) 14:24:48.10 ID:+B9xyxW0
一般論として、int(11)とchar(2)だと、どちらがパフォーマンス(メモリとか検索速度とか)がいいと思いますか?
具体的には、国コードの値を数値で保存するか2文字のアルファベットにするか考えてます。
例えば日本だと、392かJPになります。
差があったとしても誤差程度。空間効率はCHAR(2)の方が良い。
intだとなぜ11桁に膨れ上がるか不思議
tinyint,smallint
国コードはSMALLINT
>>944 悪くないんだけど、JOINとかのパフォーマンスが致命的。
業務で1テーブル1000万件とかを扱うのは無理。
spiderって何に使うの?
954 :
NAME IS NULL:2013/07/29(月) 17:58:35.81 ID:BusOCDW5
MySQL Connector/C 6.1でプログラムを書いているのですが
mysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "utf8");
とやっても????になって文字化けしているようです。
件数はあっているようなので接続やSQLの実行はできていそうなんですが
文字化けが治りません。どこらへんがあやしいでしょうか
データベースはutf8なのにmysql_options(&mysql, MYSQL_SET_CHARSET_NAME, "sjis");にしてやらないと
文字化けするみたい、謎
956 :
NAME IS NULL:2013/07/29(月) 19:15:36.82 ID:BusOCDW5
utf8で結果を取得したいのですが、どなたか教えていただけませんか
utf8で取得できていないと判断した根拠が見えないなぁ。
utf8で取得できてるんじゃないの?
958 :
NAME IS NULL:2013/07/30(火) 06:32:01.32 ID:23oI6gWg
>>957 ちょっと調べてみます。sjisの取得するソースを参考にしたので
配列がsjisの型になってるかもしれません。
959 :
NAME IS NULL:2013/07/30(火) 08:53:36.63 ID:0xJ0btsb
??utf8ベースでプログラム作ってるはずなのに、sjisでmysqlから取得すると文字化けしませんでした。
??納得できないデータベースもutf8でプログラムもutf8なのになんでMySQL Connector/Cだけsjis??
SJISで取得できてるってことは、その確認してる環境がSJISなんじゃないの?
Unicode 文字セットを使用するになってますね。ただしソースはsjisになってます。
ソースのせい?
>>958 utf8のカラムにsjisのバイト列が入ってるか、
sjisのカラムにutf8のバイト列が入ってるかのどっちかと予想。
963 :
NAME IS NULL:2013/07/30(火) 12:37:32.05 ID:0xJ0btsb
>>962 ダンプして確認してもUTF8の形式のテキストにUTF8の指定がされてて日本語は化けてないので
データベースのほうはいいと思います。
うまくいかないorz
MySQL Connector/C使ってる人はutf8使えているんですか?
そもそも引数がconst charなのに戻り値がutf8とか変じゃないんですか
もうあきらめてMySQL Connector/C++を試してみようかな
なんかいろいろ勘違いしてるだけな気がする
レスのあちこちにおかしいところがあるので・・・
こっちで試すだけの材料出せる?
一応言っておくけど、
WindowsのUNICODEはUTF16で、UTF8とは別だからね
その辺わかってる?
_tprintf(L"%s\n", CW2T(CA2W(record[1], CP_UTF8)));
で取れました。お騒がせしました。
>>968 Windowsのことさっぱりわからないからそれが謎の文字列に見えるが、それで最終解決なの?
>>969 はい、こんな感じでうまく出ました。
while (record = mysql_fetch_row(results)) {
_tprintf(L"%s\n", CW2T(CA2W(record[1], CP_UTF8)));
}
めんどくさかったのでマクロを使ってUTF8→UTF16→TCHARにしてます。
これから逆に命令を作りますが次はこんな感じになるのかな
CT2A(_T("SQL"), CP_UTF8)
ATLのマクロか、、、やってみてうまくいかないならそれなりのスレで聞くのがいいかも
長年疑問だったことを質問させてくれ
innoDBのibdataは巨大1ファイルと2Gくらいのファイル沢山とだったら、
どっちがパフォーマンス良くなるんだ?
前提はSSDとして、教えてくだされ
974 :
NAME IS NULL:2013/08/02(金) 13:09:43.81 ID:0Gsm/tnE
CA2T(record[1], CP_UTF8)でもいけたのでいちょうご報告
>>974 >>968でなんでA->W->Tって二段階に変換する必要があるんだろうと思ったんだけど、
やっぱり直接いけますか。
多分Windows+MySQLの仕事はしないと思うけど、すっきりしたよ。
976 :
NAME IS NULL:2013/08/09(金) 16:32:10.33 ID:MjVUqmJh
SHOW CREAT TABLE で、AUTO_INCREMENT を
出力しないようにするにはどうすれば良いですか?
仕様が気にくわないならビルドすればいいじゃない
979 :
976:2013/08/10(土) 01:15:59.80 ID:MBKbovHP
>>977 ありがとうございます。
MySQLに限らないですが、何かが出来ないという知識を得ることは
何かが出来る場合の知識を得ることに比べて難しく感じているので
とても有難いです。
もうひとつ教えていただきたいのですが、どこでその知識を得ましたか?
どこかに明示されているのでしょうか。
あるいは既知の情報から導き出されたものなのでしょうか。
基本的には公式のマニュアルを読むようにしているのですが、
深く理解するには色々とむずかしいことが多いです。
980 :
NAME IS NULL:2013/08/10(土) 09:24:26.00 ID:MBKbovHP
ビープ音を鳴らすだけのコマンドってないでしょうか?
長時間のタスクが終了したときに音で教えてくれると助かるので、
いつも時間のかかるコマンドに続けてエラーが出るコマンドを打つことで
ビープを発生させています。
ただ、このやり方はあまり気持ちいいものじゃないので、
もしかして音だけを発生させるような仕組みがあるのかな
と思い質問させて頂きました。
>>980 >beep
それ、MySQLの仕事か?
やるならshなりbatなりでラップしてやることだと思うが
982 :
NAME IS NULL:2013/08/10(土) 11:23:23.78 ID:MBKbovHP
>>981 コマンドラインで mysql に入っての作業なんですが、そんなことって出来ます?
>>982 beepを消すのしか見つけられなかった
というか、エラーが出コマンドを実行すればいいのではなかろうか
986 :
982:2013/08/10(土) 21:33:50.00 ID:MBKbovHP
じゃあふつうに
mysql> \! echo -e '\a'
>>986 select '^G';
^Gは制御文字
Windowsなら、Ctrlキー+Gで入力
Linuxなら、Ctrlキー+Vに続き、Ctrlキー+Gと入力
面白いこととか失礼なやっちゃなw
質問自体が一番面白いこと言ってるのにねw
>>979 基本は英語のリファレンスマニュアル。
「できること」を書いてないケースはほとんどない。
裏取りはソースコード。
できる限り最良の回答だというのになんてことをw