日志型的应用应该如何选择存储引擎

版权声明:博主保留一切权利,转载请注明出处。 https://blog.csdn.net/li_canhui/article/details/86468546

假设有一个日志型的应用,例如,需要把网站所有的访问日志记录到数据库中,应该如何选择MySQL的存储引擎呢?

这一类的应用对数据插入性能要求很高,数据库层面不能成为系统的瓶颈。MyISAM或者Archive存储引擎对这类应用比较合适,因为他们的开销很低,而且插入速度很快。MyISAM只将数据写入内存,然后等待操作系统将数据刷出到磁盘上。

如果需要对日志表做分析报表,那么事情就变的有趣了。生成报表的SQL很可能导致插入的速度下降,这时候应该怎么办呢?

一种解决方案是,利用MySQL内置的复制方案将数据复制一份到备份库,在备份库上执行比较消耗时间和CPU的查询和生成报表的操作。而主库只用于写入操作。

另一种解决方案是,在日志记录表的名字中包含年和月的信息,比如log_2018_01,log_2018_02等,这样,在没有插入操作的历史表中进行查询,不会影响现在的插入操作。

猜你喜欢

转载自blog.csdn.net/li_canhui/article/details/86468546