MySQL大表-查询非常慢

亚当·巴拉尼(Adam Baranyai)

我有一个MySQL表,AdsPOI其结构如下:

 AdsPOIId  (bigint 20) PRIMARY, AUTO INCREMENT
 Distance  (int 6) not indexed
 poi_POIId (bigint 20) INDEXED, references another table POI
 ads_AdId  (bigint 20) INDEXED, references another table Ads

在此表中,当前约有700万行,但它每分钟都在增长,越来越大。该表是一个InnoDB表。即使当我尝试对表进行最简单的查询时,例如:SELECT * FROM AdsPOI ORDER BY ads_AdId,查询也需要大约20秒钟才能运行。当我尝试更复杂的查询时,例如SELECT poi_POIId FROM AdsPOI WHERE ads_AdId > 5 AND ads_AdId < 300000 GROUP BY poi_POIId查询需要大约1分钟20秒,并返回大约130.000行。

有什么方法可以固定这些查询吗?这些查询运行这么慢是正常现象吗?我怎样才能使它们更快?

埃勒

您可以尝试通过增加innodb_buffer_pool_size并因此将最近访问的表移入RAM来优化磁盘I / O。

https://dev.mysql.com/doc/refman/5.5/zh-CN/optimizing-innodb-diskio.html

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

MySQL非常慢的查询

来自分类Dev

MYSQL(NOT IN)查询非常慢

来自分类Dev

大表查询运行非常慢

来自分类Dev

MySQL子查询非常慢

来自分类Dev

MySQL选择查询非常慢

来自分类Dev

MySQL查询运行非常慢

来自分类Dev

MYSQL查询执行速度非常慢

来自分类Dev

使用OR子句的MySQL JOIN查询非常慢

来自分类Dev

MySQL非常慢的子查询优化

来自分类Dev

使用OR子句的MySQL JOIN查询非常慢

来自分类Dev

MySQL查询联接语句非常慢

来自分类Dev

Mysql嵌套查询速度非常慢

来自分类Dev

从2个表中选择时MySQL查询非常慢

来自分类Dev

Mysql表更新查询非常慢,并且每天都在增加

来自分类Dev

在Azure表上使用AND执行查询非常慢

来自分类Dev

子查询的更新表执行速度非常慢

来自分类Dev

读取订单非常慢的mysql查询(联接和分组依据)

来自分类Dev

试图找到导致LEFT JOIN MySQL查询非常慢的原因

来自分类Dev

MySQL查询返回无效行并且非常慢

来自分类Dev

迁移到mysql 5.7后查询非常慢

来自分类Dev

对于某些参数,SQL查询非常慢(MySQL)

来自分类Dev

使用where子句时,mysql select查询非常慢

来自分类Dev

即使使用INNER JOIN而不是IN,MySQL查询也非常慢

来自分类Dev

MySQL中使用GROUP BY的子查询非常慢

来自分类Dev

使用 Order By 时 MySQL 查询变得非常慢

来自分类Dev

mysql查询速度非常慢:左联接多个表,每个表的where子句

来自分类Dev

mysql查询速度非常慢:左联接多个表,每个表的where子句

来自分类Dev

在1000万行表(单表)中,MySQL中的SELECT查询非常慢

来自分类Dev

非常非常慢的查询