在mysql中,命令CHECKSUM TABLE table1name
正在为InnoDB & MyISAM工作,但不适用于ndbcluster
。有没有其他的方法来查找校验和或相关的属性,以便知道在任何交互之后该表是否相同。Mysql CHECKSUM TABLE不适用于ndbcluster
0
A
回答
1
如果我正确地理解了这个问题,你问的是如何获得基于NDB引擎的mysql表的校验和。 下面的查询将这样的伎俩:
SELECT @crc as crc FROM
(
select @crc := ''
) tmp,
(
SELECT min(
length(
@crc := sha1(
concat(
@crc, sha1(
concat_ws('#', field_1, field_2, ...)
)
)
)
)
)
)
FROM
(
SELECT field_1, field_2, ... FROM your_table
ORDER BY yourtable_some_key_id
) tmp_1
) final
在InnoDB的这不会需要第二次查询,将工作,但随后本地 校验表your_table 也将工作。尽管您可以在ORDER BY子句中指定任何顺序,但内部处理发生在结果排序之前,NDB上的顺序并不总是相同。在这种情况下,我们需要强制它,因此具有特定排序顺序的第二个子查询。
您为支持NDB而支付的第一个价格是由第二个子查询创建的内部有序临时表,它与您的表一样大,在使用此查询时请记住这一点。
第二个支付的价格是创建这个临时排序表所需的时间。在我对100K行表进行的测试中,查询花费了大约1.5到2秒的时间查询,而大约100毫秒没有它。
该解决方案是基于在this blog
希望这有助于找到更广泛的一个。
相关问题
- 1. 替代Mysql NDBCLUSTER
- 2. 负载平衡MySQL ndbcluster
- 3. MySQL NDBCLUSTER:是否适合大规模解决方案?
- 4. IF ELSE不适用于MySQL?
- 5. Password_verify不适用于mysql
- 6. SELECT不适用于Ruby-mysql
- 7. PreparedStatement不适用于MySql
- 8. BETWEEN不适用于MySQL
- 9. ndbCluster和Azure
- 10. 用于MySQL连接的JDBC:适用于MySQL Workbench,不适用于JDBC
- 11. Flyway数据导入仅适用于MySQL,不适用于H2
- 12. Hibernate OnDelete Cascade不适用于MySql,但适用于postgres和Ms-Sql
- 13. 查询适用于MySQL,但不适用于Postgres SQL
- 14. mysql整理是适用于phpmyadmin但不适用于sql
- 15. sql只适用于mysql,但不适用于php
- 16. MySQL语句适用于phpmyadmin,但不适用于代码
- 17. 每个MySQL的最大行数(Billions)NDBCLUSTER?
- 18. Sqoop“create-hive-table”不适用于Hortonworks中的Teradata
- 19. Jquery库symfony集合不适用于<table>元素
- 20. ng-table-dynamic排序不适用于动态列
- 21. pisa html2pdf convert table不适用高度td
- 22. mysqld未知选项'--ndbcluster'
- 23. 虚荣心不适用于MySql
- 24. subselect sql查询不适用于mysql 4
- 25. MySQL Order By不适用于Concat(enum)
- 26. 分隔符不适用于MySQL 5.1
- 27. 更新不适用于MySQL和PHP
- 28. JPA @GeneratedValue(strategy = GenerationType.AUTO)不适用于MySQL
- 29. MySQL查询不适用于Amazon RDS?
- 30. MySQL DATE_ADD INTERVAL不适用于Hibernate。