mysql索引状态和内存中运行索引

标签 mysql indexing sql-like

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

Innodb_buffer_pool_size = 3G

Mysql mytable结构 URL(主要)255Varchar 文件名200Varchar

mytable 1,065,380行 InnoDB latin1_swedish_ci 1 GiB

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

最佳答案

你有多少内存?对于 3G 的 buffer_pool,我希望你至少有 6GB 的 RAM。如果不是,则 buffer_pool 配置得太大,您可能正在进行交换。这是一个严重的性能 killer 。

如果您已有PRIMARY KEY(URL),则没有理由添加INDEX(URL)。 PK 已经是一个索引,并且UNIQUE

您希望加速什么查询?

关于mysql索引状态和内存中运行索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47362371/

相关文章:

python - numpy/: colon equivalent 中的数组赋值

python - 如何使用 Django 的 index_together 与 filter 和 order_by 一起查询?

sql - 为什么在我的应用程序中没有返回行,而相同的查询在 DBBrowser 中返回行?

php - 取决于用户 ID

MySQL数据库帮助: How do I find X in every column and delete it?

mysql - SQL查询-员工ID

mysql - 如何将自动递增主键附加到同一个表中的另一个字段?

mysql - 在 MySQL 中对另一个子查询的结果执行子查询?

mysql - 启用MySQL v5.6.27 通用查询日志

tsql - 在内存优化表上使用索引