中國站
幫助中心 > 數(shù)據(jù)庫 > 云數(shù)據(jù)庫MySQL > 常見問題 > 云數(shù)據(jù)庫MySQL的decimal字段過大導(dǎo)致查詢不準確

云數(shù)據(jù)庫MySQL的decimal字段過大導(dǎo)致查詢不準確

問題描述

云數(shù)據(jù)庫 MySQL 的decimal字段過大,導(dǎo)致查詢不準確。

問題原因

云數(shù)據(jù)庫 MySQL 的decimal字段過大查詢不準的情況,這是MySQL數(shù)據(jù)庫的BUG引起。

解決方法

可以通過添加索引進行優(yōu)化解決,優(yōu)化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`);