2017-11-18 66 views
0

我想知道如果完成或仍在进行中,我的主要列(即“URL”)有大约100万行索引的进度。我想在内存中运行索引来减少硬盘的IO,更重要的是我想加快处理速度不超过等待10分钟,因为我需要每天删除所有数据并插入新数据。mysql索引状态和内存中的运行索引

Innodb_buffer_pool_size = 3G

Mysql的mytable的结构 URL(初级)255Varchar 名200Varchar

MYTABLE 1,065,380rows InnoDB的latin1_swedish_ci 1吉布

Space usage 
Data 404 MiB 
Index 660 MiB 
Total 1 GiB 
Row Statistics 
Format dynamic 
Collation latin1_swedish_ci 
Creation Nov 18, 2017 at 02:35 PM 
+0

请提供'SHOW CREATE TABLE';有几件事我们需要看。另外,你使用的是什么版本的MySQL? –

回答

0

多少RAM你有?对于3G缓冲池,我希望你至少有6GB的内存。如果不是,则buffer_pool配置得如此之大,以至于您可能会交换。这是一个严重的性能杀手。

如果你已经有PRIMARY KEY(URL),有没有的原因添加INDEX(URL)。 PK已经是一个索引,并且UNIQUE

你希望加快什么查询?