中国站
帮助中心 > 数据库 > 云数据库MySQL > 常见问题 > 云数据库MySQL的decimal字段过大导致查询不准确

云数据库MySQL的decimal字段过大导致查询不准确

问题描述

云数据库 MySQL 的decimal字段过大,导致查询不准确。

问题原因

云数据库 MySQL 的decimal字段过大查询不准的情况,这是MySQL数据库的BUG引起。

解决方法

可以通过添加索引进行优化解决,优化SQL语句如下。

  1. create table mlgtestdecimal(`campaign_id` decimal(24, 0) NOT NULL, name VARCHAR(50));
  2. insert into mlgtestdecimal(campaign_id, name)
  3. VALUES('XXXXXXX','XXXXXX');
  4. insert into mlgtestdecimal(campaign_id, name)
  5. VALUES('XXXXXXX','XXXXXX');
  6. SELECT *
  7. from mlgtestdecimal
  8. where campaign_id='XXXXXXX'
  9. and name='XXXXXX'
  10. alter table mlgtestdecimal add index ind_decimal (`campaign_id`);