最快的MySQL存储引擎,无需并发即可存储数据 [英] Fastest MySQL storage engine for storing data without concurrency

查看:109
本文介绍了最快的MySQL存储引擎,无需并发即可存储数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用mysql库存储大量数据(亿万次录音)的各种测试所得的结果.

我是该基地的唯一用户,因此不会有任何并发​​问题.我还想使用简单的数学函数,例如"avg","std"等

您认为执行此任务的最佳引擎是什么?
我现在正在使用InnoDB,在我看来,它有点沉重.

致谢

纪尧姆

解决方案

使用InnoDB表会带来事务支持,回滚等开销.如果您不需要事务支持,那么您应该使用MyISam table没有任何事务支持,并且可以更快地进行查找等.他们一直在InnoDB上进行了大量工作以加快其速度,但总有很多开销需要解决.我建议您在切换之前进一步阅读该主题.

使用与建议的表一样大的表,可能会导致性能和存储问题.对于这些类型的表,我建议使用MyISam结构或将innodb_flush_log_at_trx_commit设置为0的InnoDB表(这将切换为在控制权返回给调用者之前不将事务提交到磁盘的模式).

I'm using a mysql base to store results from various test over a large amount of data (hundred of millions recordings).

I'm the only user of the base so there won't be any problem of concurrency. I also want to use simple mathematical functions such as 'avg', 'std' etc

What is the best engine in your opinion for such a task?
I'm using InnoDB right now and it seems to me a bit heavy.

Regards

Guillaume

解决方案

Using an InnoDB table comes with an overhead of transactional support, rollbacks etc. If you don't need this support for transactions then you should really go with an MyISam table as it doesn't have any transactional support and can be faster for lookups etc. They have been doing a lot of work on InnoDB to bring it up to speed but there is always that overhead to contend with. I would suggest some further reading on the topic before switching.

With a table as large as your suggesting a memory table may cause you issues with performance and storage. For these sorts of tables I would recommend an MyISam structure or an InnoDB table with innodb_flush_log_at_trx_commit set to 0 (this switches to a mode where transactions are not commited to disk before control is returned to the caller).

这篇关于最快的MySQL存储引擎,无需并发即可存储数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆