Workbench_ODBC接続のクエリで、MySQLの日付関数は使えるか
WorkbenchのODBC接続で、指定DBのデータを毎日アップロードするJobを組んでいます。
この指定DBが非常に重く、アップロード完了まで半日程度かかってしまっております。
必要なデータは、DB上の更新日が最新のレコードのみなのですが、
高速化のための方法はなにかないか調べていたところ、Queryで日付指定したら数秒でアップロードできることに気づきました。
ただ、MySQLの関数で使えるものに制約があるのか、日付を直接指定(Ex.WHERE 日付 = '2021-11-30')のような方法だと動きますが、ちょっと細かい指定(Ex.WHERE DATEDIFF(CURRENTDATE(),日付) < 3)をすると動かないようです。
「DBから更新日が3日以内のデータを毎日取得する」という作業がしたいのですが、これはWorkbench上で可能なのでしょうか。
また、上記ができなくても、大量データを高速でULするための方法はなにかあるのでしょうか。
よろしくお願いいたします。
タグ付けされた:
0
答え
-
投稿ありがとうございます。
MySQLをご利用とのことですので、「CURRENTDATE()」ではなく「current_date()」を利用すれば動作するかと思います。
以下のSQLでエラーなく実行可能でした。
例)
SELECT * FROM testdb.table1 where DATEDIFF(current_date(),`date`) < 3;
1 -
Matz様
早速ご返信いただきありがとうございます!!
確認してみます!
0