1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 为何分表后mysql效率会更低 – 数据库 – 前端 mysql存储过程中语法错误

为何分表后mysql效率会更低 – 数据库 – 前端 mysql存储过程中语法错误

时间:2021-01-23 10:23:10

相关推荐

为何分表后mysql效率会更低 – 数据库 – 前端 mysql存储过程中语法错误

一个数据库实例存储三四十万张表,如果表文件(.frm, .ibd等)放到同一个目录,那么打开表都会很慢,因为每次打开一个表都要打开对应的2个表文件,文件系统效率会降低。如果这些表不是都用到,建议把不用的表归档然后从实例中删除。如果这几十万张表都是有用的,那么你要考虑分库分表,以及考虑数据库设计是否合理,每个表是不是只有很少的数据,这些表能否合并,等等。否则,系统查询这三四十万张表的需要反复在table cache中淘汰打开的表才能打开更多的表,性能会降低很多。打开每个表需要打开2个文件,通常linux操作系统不允许一个进程打开的文件达到六十万到八十万个的,在这样的极限状态下操作系统的文件系统的运行效率也会大大降低。你需要把table_open_cache, innodb_open_files和open_files_limit 这3个mysql参数配置的尽可能大,不过mysqld启动之后,你看一下这3个变量,它们最终实际值是操作系统分配给mysqld进程的,并不一定能达到你配置的值。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。