2011年からずーっとepgrecを使っています。 最近こういうのを構築するとなると、別のものになるのでしょうが、延々と使い続けて・・・。 最近番組表の表示がとても遅いのが悩みでした。 バックエンドにMysqlを使っているのは知っていたのですが、Mysqlのチューニングでなんとかならないか、と思って調査しました。 Gemini曰く、my.confに「遅いSQLをログに書き出すのが基本」とやらで、設定してみました。 [mysqld]に以下を追加。 slow_query_log = 1 slow_query_log_file = mysql_slow.log long_query_time = 1.0 log_queries_not_using_indexes = 1 すると、/var/lib/mysql/mysql_slow.logに出るわ出るわ。。 # Query_time: 0.062533 Lock_time: 0.000104 Rows_sent: 1 Rows_examined: 23758 SELECT COUNT(*) FROM Recorder_reserveTbl WHERE complete = '0' AND program_id = '4063165'; 2万4千行もそのテーブルにあるの?そりゃ遅くなるよ。。 そして速度上げる方法はないか、と素人考えで「インデックス張ればいいんじゃない?」ということで create index reserveTbl_index on Recorder_reserveTbl ( complete, program_id ); を実行。 めっちゃ速くなった!
CopilotとGeminiと数日間戯れてようやくなんとなくわかった。 1.最近(2026年)の7zipをインストールして入る「7z.sfx」は自己解凍機能しかない(config.txt非対応) 2.あれこれできるconfig.txtに対応している「7zSD.sfx」は別アーカイブにある 3.ググって出てくる「7zS.sfx」はけっこう古いバージョンである 4.「7z.sfx」も「7zS.sfx」も「7zSD.sfx」もオープンソースでない。ので、詳細がよくわからない。 5.「7z.sfx」も「7zS.sfx」も「7zSD.sfx」も公式マニュアルはない。ので、巷のコマンドは動かない場合もある 6.config.txtは「BOM付きUTF8、CRLF」じゃないと無視される(lzma2600.7zの7zSD.sfxとlzma920の7zS.sfxは無視してくれた) 7.出来上がったexeはインストーラじゃないのだけどWindowsが誤解して「互換性なんたら」のダイアログを出すことがあるので、レジストリ設定で出さないようにするのが無難 (6.に気づくまで数日かかった。Copilot/GaminiはANSIで良いというのだけど無視されてしまうので謎だった。UTF8でもNG、BOM付きUTF8で読み込んでくれた) ということで、config.txtは「install.batを起動するのみ、BOM付きUTF8、CRLF」にして、残り(レジストリ設定とか、msi起動とか)をinstall.bat内で良い感じにするしかないか。。。