記事"MQL5 (MQL4)から MySQL データベースにアクセスする方法"についてのディスカッション - ページ 29 1...222324252627282930 新しいコメント Eugeniy Lugovoy 2023.03.08 23:54 #281 Viktor Vasilyuk #:説明してくれてありがとう。私はすべてを知ることはできない。私はここで 自分自身のための解決策を見つけました。追伸:SELECTをチェックしました。 クエリ結果の変換は可能ですが、テーブルレベルで utf8mb4 の定義があることを忘れないでください。つまり、デフォルトではすべてのフィールドで varchar が使用され、クエリでテキストフィールドの条件がある場合、MySQL は暗黙的に変換しようとします。また、テキストカラムにインデックスが構築されている可能性を考慮すると、オプティマイザはこのような変換の際にインデックスを検出しない可能性があります。そのため、このようなことはテーブルレベルとカラム定義のレベルの両方で制御することが望ましい。 Viktor Vasilyuk 2023.03.09 09:41 #282 Eugeniy Lugovoy #: クエリ結果の変換は可能ですが、テーブルレベルでutf8mb4が定義されていること、つまりすべてのフィールドでvarcharがデフォルトで使用されていることを忘れないでください。また、テキストカラムにインデックスが構築されていることを考慮すると、オプティマイザはそのような変換の際にインデックスを検出しない可能性があります。 そのため、このようなことはテーブルレベルとカラム定義のレベルの両方で制御することが望ましい。 説明フィールドがあります。comments "のようなもので、フィールドは必要ない。インデックスはない。 MySQL utf8mb4がデフォルトです。次回、DDLでどのように指定すればよいのか教えてください。 何をどのエンコーディングに変更すればよいのでしょうか。 mattlaguardia 2024.02.23 20:39 #283 MQLmySQLはデータベースの種類にうるさいのでしょうか? 私たちは、新しいデータベースに移行するまで、スクリプトがデータベースに接続していた問題に遭遇しています。 突然、読み取り/書き込み/削除の問題が発生しました。ポート3306のすべてのパーミッションは有効になっており、新しいデータベースは単に古いデータベースのコピーです。 何かアイデアはありますか? pobo123 2024.05.06 11:57 #284 Boaz Nyagaka Moses #: 次のエラーが出続けます: 2022.03.02 20:22:25.198 MySQL-001 EURUSD,M15: 接続エラー #2059 認証プラグイン 'caching_sha2_password' をロードできません:指定されたモジュールが見つかりません。 この問題を解決できましたか? Andres Lume 2024.10.10 21:11 #285 MySqlCursorFetchRow の後に取得できるフィールド数を知る方法はありますか? たぶん RowFieldsSize のような隠された関数があると思います。 私が理解しているように、フィールドがない場合、MySqlGetFieldAsString は空文字列を返します。しかし、String Field に空のフィールドが含まれている場合も、空文字列を返します。つまり、総当たりでフィールドの数を追跡できるとは限りません。 代替手段としては、まずsqlコマンドで調べてから、もう一度selectするという方法があるが、これはすでに不要なselectである。 ライブラリの開発をお願いします。もちろん、ずっと前にmtに組み込むmysqlのカップル Andres Lume 2024.10.22 20:22 #286 クエリの挿入と更新 - クエリの上限は 16 KB だけですか? クエリが16.000文字を超えるとメタトレーダーはクラッシュ(終了)します。 32.000文字のUPDATEの例を添付します。 データベースの更新フィールド - LONGTEXT ファイル: test2.txt 64 kb Maxim Kuznetsov 2024.10.22 21:23 #287 andreysneg #:クエリの挿入と更新 - クエリの制限は16kbだけですか?クエリが16.000文字を超えるとメタトレーダーはクラッシュ(終了)します。32.000文字のUPDATEの例を添付します。データベースの更新フィールド - LONGTEXT これはMQLの行サイズ制限に近いものです :-( よりコンパクトに書くことができます: REPLACE d1 ("t", "o", "h", "l", "c") VALUES (time1,open1,high1,low1,close1), (time2,open2,high2,low2,close2) .... あるいは、2つのクエリを1つのトランザクションに結合して、2つのクエリに分割する。 Alex Renko 2024.11.01 18:28 #288 例えば、50,000 の要素があり、0,1 秒ごとにテーブルを更新します。MT5はMySQLからデータを取得し、0.1秒ごとに更新することができますか?この記事で紹介されている機能には、1クエリあたりのKBに制限はありますか? Eugeniy Lugovoy 2024.12.13 15:47 #289 Alex Renko #: 例えば、50,000 の要素があり、0,1 秒ごとにテーブルを更新します。MT5はMySQLからデータを取得し、0.1秒ごとに更新することができますか?この記事で紹介されている機能には、1クエリに対するKBの制限はありますか? まあ、その質問は確かに興味深いです... 返されるSELECTクエリの行数に制限はありません。 クエリー自体のサイズ制限は64KBです。ですから、50k行のデータを更新するのであれば、1000行ずつに分割して、50個のクエリを送信したほうがよいでしょう。 100ミリ秒という速度については、もしデータベースが1つのサーバーにあり、データベースへの接続を持つMQLを実行する端末がある程度離れている場合、ほとんどの場合、pingの大きさでネットワーク遅延に遭遇することになります。 例えば、データベース・サーバーと端末の間のpingが60msの場合、サーバーからの実際のレスポンスは、=60ms(クエリー)+データベース側のクエリー処理時間+60ms(レスポンス)と遅れます。 このプロジェクトは、ダイナミックmysqlライブラリの機能にアクセスするための単純なラッパーに過ぎない。 必要なものを追加して拡張することができます。例えば、非同期クエリのサポートを追加すれば、50のクエリを順番に実行するのを待つことなく1000行で送信することができます。 追伸:Githubでライブラリーのソースとプリセット制限を見ることができます(https://github.com/elugovoy/MQLMySQL-Project/tree/master/MQLMySQL)。 P.P.S.: ダウンロードして、自由に変更し、コンパイルしてテストすることもできます。 MQLMySQL-Project/MQLMySQL at master · elugovoy/MQLMySQL-Project elugovoygithub.com MQL & DLL libraries for working with MySQL database - elugovoy/MQLMySQL-Project Eugeniy Lugovoy 2024.12.13 15:58 #290 andreysneg #:MySqlCursorFetchRow の後に取得できるフィールドの数を知る方法はありますか?RowFieldsSize のような隠し関数があるかもしれません。私が理解しているように、フィールドがない場合、MySqlGetFieldAsString は空文字列を返します。しかし、String Field に空のフィールドが含まれている場合も、空文字列を返します。つまり、総当たりでフィールドの数を追跡できるとは限りません。代替手段として、まずsqlコマンドでフィールドの数を調べ、それからもう一度selectすることもできますが、これはすでに不必要なselectです。ライブラリの開発をお願いします。もちろん、mysqlのいくつかはとっくの昔にmtに組み込まれているはずだ。 ふむ...。どのようなクエリが、それによって返されるフィールドの数を決定する必要があるほど厄介なのですか? 通常SELECTコマンドでは、特定の状況で必要なものだけを列挙する。SELECT*を 使わず、必要なものだけを選択する。 Githubからソースコードを取得し、 mysql_fetch_fields() MySQL API関数のラッパーを追加することができます。 1...222324252627282930 新しいコメント 取引の機会を逃しています。 無料取引アプリ 8千を超えるシグナルをコピー 金融ニュースで金融マーケットを探索 新規登録 ログイン スペースを含まないラテン文字 このメールにパスワードが送信されます エラーが発生しました Googleでログイン WebサイトポリシーおよびMQL5.COM利用規約に同意します。 新規登録 MQL5.com WebサイトへのログインにCookieの使用を許可します。 ログインするには、ブラウザで必要な設定を有効にしてください。 ログイン/パスワードをお忘れですか? Googleでログイン
説明してくれてありがとう。私はすべてを知ることはできない。
私はここで 自分自身のための解決策を見つけました。
追伸:SELECTをチェックしました。
クエリ結果の変換は可能ですが、テーブルレベルでutf8mb4が定義されていること、つまりすべてのフィールドでvarcharがデフォルトで使用されていることを忘れないでください。また、テキストカラムにインデックスが構築されていることを考慮すると、オプティマイザはそのような変換の際にインデックスを検出しない可能性があります。
説明フィールドがあります。comments "のようなもので、フィールドは必要ない。インデックスはない。
MySQL utf8mb4がデフォルトです。次回、DDLでどのように指定すればよいのか教えてください。 何をどのエンコーディングに変更すればよいのでしょうか。
何かアイデアはありますか?
次のエラーが出続けます:
この問題を解決できましたか?
MySqlCursorFetchRow の後に取得できるフィールド数を知る方法はありますか?
たぶん RowFieldsSize のような隠された関数があると思います。
私が理解しているように、フィールドがない場合、MySqlGetFieldAsString は空文字列を返します。しかし、String Field に空のフィールドが含まれている場合も、空文字列を返します。つまり、総当たりでフィールドの数を追跡できるとは限りません。
代替手段としては、まずsqlコマンドで調べてから、もう一度selectするという方法があるが、これはすでに不要なselectである。
ライブラリの開発をお願いします。もちろん、ずっと前にmtに組み込むmysqlのカップル
クエリの挿入と更新 - クエリの上限は 16 KB だけですか?
クエリが16.000文字を超えるとメタトレーダーはクラッシュ(終了)します。
32.000文字のUPDATEの例を添付します。
データベースの更新フィールド - LONGTEXT
クエリの挿入と更新 - クエリの制限は16kbだけですか?
クエリが16.000文字を超えるとメタトレーダーはクラッシュ(終了)します。
32.000文字のUPDATEの例を添付します。
データベースの更新フィールド - LONGTEXT
これはMQLの行サイズ制限に近いものです :-(
よりコンパクトに書くことができます:
REPLACE d1 ("t", "o", "h", "l", "c") VALUES (time1,open1,high1,low1,close1), (time2,open2,high2,low2,close2) ....
あるいは、2つのクエリを1つのトランザクションに結合して、2つのクエリに分割する。
例えば、50,000 の要素があり、0,1 秒ごとにテーブルを更新します。MT5はMySQLからデータを取得し、0.1秒ごとに更新することができますか?この記事で紹介されている機能には、1クエリに対するKBの制限はありますか?
まあ、その質問は確かに興味深いです...
返されるSELECTクエリの行数に制限はありません。
クエリー自体のサイズ制限は64KBです。ですから、50k行のデータを更新するのであれば、1000行ずつに分割して、50個のクエリを送信したほうがよいでしょう。
100ミリ秒という速度については、もしデータベースが1つのサーバーにあり、データベースへの接続を持つMQLを実行する端末がある程度離れている場合、ほとんどの場合、pingの大きさでネットワーク遅延に遭遇することになります。
例えば、データベース・サーバーと端末の間のpingが60msの場合、サーバーからの実際のレスポンスは、=60ms(クエリー)+データベース側のクエリー処理時間+60ms(レスポンス)と遅れます。
このプロジェクトは、ダイナミックmysqlライブラリの機能にアクセスするための単純なラッパーに過ぎない。
必要なものを追加して拡張することができます。例えば、非同期クエリのサポートを追加すれば、50のクエリを順番に実行するのを待つことなく1000行で送信することができます。
追伸:Githubでライブラリーのソースとプリセット制限を見ることができます(https://github.com/elugovoy/MQLMySQL-Project/tree/master/MQLMySQL)。
P.P.S.: ダウンロードして、自由に変更し、コンパイルしてテストすることもできます。
MySqlCursorFetchRow の後に取得できるフィールドの数を知る方法はありますか?
RowFieldsSize のような隠し関数があるかもしれません。
私が理解しているように、フィールドがない場合、MySqlGetFieldAsString は空文字列を返します。しかし、String Field に空のフィールドが含まれている場合も、空文字列を返します。つまり、総当たりでフィールドの数を追跡できるとは限りません。
代替手段として、まずsqlコマンドでフィールドの数を調べ、それからもう一度selectすることもできますが、これはすでに不必要なselectです。
ライブラリの開発をお願いします。もちろん、mysqlのいくつかはとっくの昔にmtに組み込まれているはずだ。
ふむ...。どのようなクエリが、それによって返されるフィールドの数を決定する必要があるほど厄介なのですか?
通常SELECTコマンドでは、特定の状況で必要なものだけを列挙する。SELECT*を 使わず、必要なものだけを選択する。
Githubからソースコードを取得し、 mysql_fetch_fields() MySQL API関数のラッパーを追加することができます。