如何使用bigdata提高查询速度? Mysql的

时间:2017-08-29 03:09:20

标签: mysql query-optimization

表结构如下:

enter image description here

当我运行此查询时,执行时间约为2-3分钟:

select id,name,infohash,files from tb_torrent where id between 0 and 10000;

只有超过200,000个数据,为什么执行速度如此之慢?以及如何解决它?

1 个答案:

答案 0 :(得分:1)

不必要地使用BIGint并不足以解释这种迟缓。让我们来寻找其他问题。

这个“关键”图标是否表示id上有索引?经验是PRIMARY KEY

ENGINE正在使用什么?如果它是MyISAM,那么你的缺点是PK不会与数据“聚集”,从而使10K查找速度变慢。

你会用10K行做什么?想想网络成本。以及客户端的内存成本。

但也许这是真正的问题......如果这是InnoDB,并且TEXT列是“大”,那么这些值将被存储为“不记录”。这导致另一个磁盘命中以获得任何大文本值。将它们更改为VARCHAR(...)的实际最大值。

你有多少内存? innodb_buffer_pool_size的价值是多少?你有两次查询时间吗? (第一次是I / O绑定;第二次可能正在点击缓存。表格有多大(以MB或GB为单位)?

相关问题