Mysql对大数据非常着迷

Mysql对大数据非常着迷,mysql,database,heidisql,Mysql,Database,Heidisql,我有一个MySQL数据库,大约有30gb的数据。有些表包含超过4000万行。I我正在使用InnoDB。我在本地PC中仅使用“从表_name中选择计数(*)查询”大约需要5分钟。我想我不可能加入这张桌子。我想问一下,我能做些什么来提高性能。或者我需要切换到另一个数据库吗?我从未在DB中遇到过如此大的数据。请提供帮助。MySQL InnoDB表不保留行计数,因此SELECT count(*)可能会很慢。它不是指示其他查询可能如何执行,而是指示完整表扫描可能有多慢。5分钟对4000万行来说真的很糟糕,

我有一个MySQL数据库,大约有30gb的数据。有些表包含超过4000万行。I我正在使用InnoDB。我在本地PC中仅使用“从表_name中选择计数(*)查询”大约需要5分钟。我想我不可能加入这张桌子。我想问一下,我能做些什么来提高性能。或者我需要切换到另一个数据库吗?我从未在DB中遇到过如此大的数据。请提供帮助。

MySQL InnoDB表不保留行计数,因此
SELECT count(*)
可能会很慢。它不是指示其他查询可能如何执行,而是指示完整表扫描可能有多慢。5分钟对4000万行来说真的很糟糕,可能表明数据库或磁盘存在严重问题


这是。另外。

MySQL InnoDB表不保留行计数,因此
SELECT count(*)
可能会很慢。它不是指示其他查询可能如何执行,而是指示完整表扫描可能有多慢。5分钟对4000万行来说真的很糟糕,可能表明数据库或磁盘存在严重问题


这是。另外。

我已经运行了超过1亿条的mysql实例,每天提供超过3000万条查询。所以这是可以做到的

如果配置类似,您遇到的问题将出现在任何其他数据库系统上

我只能给你一些提示,如果这是关键任务,考虑雇佣专业人员来调整你的系统。

你需要了解的基本知识

  • 此大小的数据库最好在带有SSD磁盘和至少2个内核的专用服务器上运行
  • 您的服务器将需要大量RAM,至少您的数据库总大小+20%用于其他系统资源
  • 确保mysql配置了足够的内存,占总RAM的80%。执行此操作的主要设置是
    innodb_buffer_pool_size
  • 优化您的查询,并在需要时编制索引-这是一门很好的艺术,但可以显著提高性能,学习在查询中使用
    EXPLAIN…

我已经运行了超过1亿条的mysql实例,每天提供超过3000万条查询。所以这是可以做到的

如果配置类似,您遇到的问题将出现在任何其他数据库系统上

我只能给你一些提示,如果这是关键任务,考虑雇佣专业人员来调整你的系统。

你需要了解的基本知识

  • 此大小的数据库最好在带有SSD磁盘和至少2个内核的专用服务器上运行
  • 您的服务器将需要大量RAM,至少您的数据库总大小+20%用于其他系统资源
  • 确保mysql配置了足够的内存,占总RAM的80%。执行此操作的主要设置是
    innodb_buffer_pool_size
  • 优化您的查询,并在需要时编制索引-这是一门很好的艺术,但可以显著提高性能,学习在查询中使用
    EXPLAIN…

我以前遇到过日期过大的问题,希望我的经验对您有用

首先,您需要为表创建索引,但应该使用哪种索引取决于您的查询逻辑

索引后,如果查询仍然很慢,最好将数据划分为层次结构,例如,源表、中间表和报表表。报表表只存储一些最终数据,查询速度很快,还可以为其创建索引

第三,如果上面提到的内容不能满足您的要求,请尝试使用类似memsql的内容

此外,学习一些命令,如:

set profiling = 1
do some slow query 
show profiles;
SHOW PROFILE FOR QUERY N;

我以前遇到过日期过大的问题,希望我的经验对你有用

首先,您需要为表创建索引,但应该使用哪种索引取决于您的查询逻辑

索引后,如果查询仍然很慢,最好将数据划分为层次结构,例如,源表、中间表和报表表。报表表只存储一些最终数据,查询速度很快,还可以为其创建索引

第三,如果上面提到的内容不能满足您的要求,请尝试使用类似memsql的内容

此外,学习一些命令,如:

set profiling = 1
do some slow query 
show profiles;
SHOW PROFILE FOR QUERY N;

索引,这里的更多信息:也有用:索引,这里的更多信息:也有用:我可以问一下我是否只需要更改innodb\u buffer\u pool\u size的值?这对更改其他参数如innodb\u log\u size有很大帮助吗?您将看到innodb\u buffer\u pool\u size的最大性能提升。其他设置会有帮助,但对我们帮助不大,需要注意细节才能正确配置。Thx。您为一百万个条目设置了多大的innodb_log_size?至少与表的总数一样大,您可以从信息模式中选择表名、数据长度/(1024*1024)快速求和结果Thx Harvey。请问您如何修复将大数据.sql文件导入mysql的性能?我目前使用大转储,但我花了2天多的时间将10gb表导入数据库。脚本文件大小约为4 gb。你能告诉我怎样才能更快地导入数据吗?我将innodb_buffer_pool_的大小增加到1024M,但看起来仍然很慢。请问我是否只需要更改innodb_buffer_pool_size的值?这对更改其他参数(如innodb_log_size)是否有很大帮助?您将看到innodb_buffer_pool_的最大性能提升。其他设置会有帮助,但对我们帮助不大,需要注意细节才能正确配置。Thx。您为一百万个条目设置了多大的innodb_log_size?至少与表的总数一样大,您可以从信息模式中选择表名、数据长度/(1024*1024)。表按数据排序