# pt-table-checksum showing checksum difference

**URL:** <https://forums.percona.com/t/pt-table-checksum-showing-checksum-difference/1683>\
**Category:** Other MySQL® Questions\
**Created:** [October 7, 2011, 7:52pm UTC](https://forums.percona.com/t/pt-table-checksum-showing-checksum-difference/1683 "2011-10-07T19:52:54Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![mikea730](https://avatars.discourse-cdn.com/v4/letter/m/e47c2d/32.png) [@mikea730](https://forums.percona.com/u/mikea730)\
**Post date:** [October 7, 2011, 7:52pm UTC](https://forums.percona.com/t/pt-table-checksum-showing-checksum-difference/1683/1 "2011-10-07T19:52:54Z")

</div>

## SUSE 11 Enterprise MySQL 5.5.8 pt-table-checksum 1.0.1

I have MASTER-SLAVE replication set up.  
pt-table-checksum consistently returns different checksums for 2 tables. When I do a mysqldump on the tables and the do a DIFF on the dump files, there are no differences.

I’ve also refreshed the slave 2 times and restarted replication, but the tables still show different checksums for those tables.

Below are the fields from one of the tables.

search\_index | CREATE TABLE `search_index` (  
`word` varchar(50) NOT NULL DEFAULT ‘’ COMMENT ‘The search\_total.word that is associated with the search item.’,  
`sid` int(10) unsigned NOT NULL DEFAULT ‘0’ COMMENT ‘The search\_dataset.sid of the searchable item to which the word belongs.’,  
`type` varchar(16) NOT NULL COMMENT ‘The search\_dataset.type of the searchable item to which the word belongs.’,  
`score` float DEFAULT NULL COMMENT ‘The numeric score of the word, higher being more important.’,  
PRIMARY KEY (`word`,`sid`,`type`),  
KEY `sid_type` (`sid`,`type`)  
) ENGINE=InnoDB DEFAULT CHARSET=utf8

Any ideas what might be going on?

Thanks!

---

<div class="post-metadata">

**Author:** ![mikea730](https://avatars.discourse-cdn.com/v4/letter/m/e47c2d/32.png) [@mikea730](https://forums.percona.com/u/mikea730)\
**Post date:** [October 7, 2011, 8:05pm UTC](https://forums.percona.com/t/pt-table-checksum-showing-checksum-difference/1683/2 "2011-10-07T20:05:35Z")

</div>

I changed to “–algorithm=BIT\_XOR” and now the checksums match.

Any idea what’s causing this?

Thanks!

---

<div class="post-metadata">

**Author:** ![xaprb](https://avatars.discourse-cdn.com/v4/letter/x/49beb7/32.png) [@xaprb](https://forums.percona.com/u/xaprb)\
**Post date:** [October 7, 2011, 8:21pm UTC](https://forums.percona.com/t/pt-table-checksum-showing-checksum-difference/1683/3 "2011-10-07T20:21:57Z")

</div>

Sometimes there is a difference in floating-point values at precisions beyond what mysqldump will output. I don’t know why changing to BIT\_XOR would change the results. I would suggest using small chunks and isolating a specific chunk, then selecting the rows from that chunk on both servers, using ROUND() if needed to make float/double columns show a lot of digits of precision (20 digits, perhaps).
