すべてのプロダクト
Search
ドキュメントセンター

ApsaraDB RDS:apsaradb for MySQLの小数フィールドが大きすぎるため、クエリが不正確です

最終更新日:Jan 23, 2024

説明

免責事項: この記事には、サードパーティ製品に関する情報が含まれている場合があります。 そのような情報は参照だけのためです。 Alibaba Cloudは、明示または黙示を問わず、サードパーティ製品のパフォーマンスと信頼性、および製品に対する操作の潜在的な影響に関して、いかなる保証も行いません。

問題の説明

apsaradb RDS for MySQLのdecimalフィールドが大きすぎるため、クエリが不正確になります。

原因

apsaradb RDS for MySQLの10進数のフィールドサイズが大きすぎて、クエリが正確ではありません。これは、MySQLデータベースのバグが原因です。

修正

説明

以下の点にご注意ください。

  • インスタンス設定やデータの変更など、リスクを引き起こす可能性のある操作を実行する前に、データのセキュリティを確保するために、インスタンスのディザスタリカバリ機能とフォールトトレランス機能を確認することを推奨します。
  • ECS (Elastic Compute Service) およびRDS (Relational Database Service) インスタンスを含むインスタンスの設定およびデータを変更できます。 変更前に、スナップショットを作成するか、RDSログバックアップを有効にすることを推奨します。
  • Alibaba Cloud管理コンソールでログオンアカウントやパスワードなどのセキュリティ情報を承認または送信した場合は、そのような情報をタイムリーに変更することを推奨します。

インデックスを追加することで問題を解決できます。 最適化のSQL文は次のとおりです。

テーブルmlgtestdecimalを作成します ('campaign_id 'decimal (24, 0) NOT NULL, name VARCHAR(50));

mlgtestdecimal(campaign_id、name) に挿入する
値 ('XXXXXXX' 、'XXXXXX');

mlgtestdecimal(campaign_id、name) に挿入する
値 ('XXXXXXX' 、'XXXXXX');

SELECT *
mlgtestdecimalから
ここでcampaign_id='XXXXXXX'
  およびname='XXXXXX'
  alter table mlgtestdecimal add index ind_decimal ('campaign_id'); 

適用範囲

  • ApsaraDB RDS for MySQL