这些统计数据告诉我什么?

时间:2012-04-04 12:57:25

标签: mysql performance

我今天参加了测试。查看插入性能的变体 innodb表是空的,源文件有10K记录。

我使用了“mysql -uuname -pxxxxxx -Ddbanme< insert_file.sql”

以下是不同的统计数据。

    BINARY LOGGING IS ENABLED
    innodb_flush_log_trx_commit = 1     Time: 25 minutes
    innodb_flush_log_trx_commit = 2     Time: 4 seconds

    BINARY LOGGING IS DISABLED
    innodb_flush_log_trx_commit = 1     Time: 6 minutes
    innodb_flush_log_trx_commit = 2     Time: 3 seconds

我不确定从中可以理解什么。请分享您对此测试详情的看法。

1 个答案:

答案 0 :(得分:2)

看看here,当innodb_flush_log_trx_commit为1时,您将看到My​​SQL更频繁地写入刷新日志。正如您在文档中看到的那样,为了达到ACID合规性,它必须为1。在您的情况下,当从文件导入数据时,如果您有值1并且某些内容中断,则整个事务将失败(表将保持为空),值为2,如果出现故障,您的表将包含成功的记录(在导入之前)失败)。

关于BINARY LOGGING,当没有二进制日志记录时,插入的工作速度会更快。如果您没有从属服务器并且不想从主服务器复制命令,则不需要二进制日志记录,因此您可以将其关闭,因为这样可以提高性能。