问题标签 [myisam]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2842 浏览

mysql - 使用 MyISAM 时避免在 MySQL 中锁定 SELECT:s

MyISAM 使用表级锁定,这意味着 SELECT:s 在 INSERT/UPDATE:s 运行时被阻塞。

为了缓解阻塞 SELECT:s 的问题,建议我使用以下参数配置 MySQL:

  • low_priority_updates=1
  • concurrent_insert=2

low_priority_updates=1使用and有什么缺点concurrent_insert=2

0 投票
2 回答
1971 浏览

mysql - 为什么我的 InnoDB 表的记录计数值很奇怪?

以下是我的 mysql DB
1 中 2 个表的行数,另一个 innodb 是 myisam,

有人能告诉我为什么innodb的数字前面有这个〜吗?

这些数字来自 phpmyadmin

0 投票
2 回答
3086 浏览

mysql - 在 MySql BLOB 列上创建空间索引时出错

我正在尝试向名为 Location 的 BLOB 类型的表列添加空间索引。如果我试试这个:

我得到:

错误:密钥规范中使用的 BLOB/TEXT 列“位置”没有密钥长度

但是在MySql 5.1 (我正在使用的版本)的官方文档中,它在提到空间索引时明确表示:

“在 MySQL 5.1 中,禁止列前缀长度。每列的全宽都被索引。”

这肯定说明我不需要提供前缀。我尝试添加一个前缀,如下所示:

我得到:

错误:不正确的前缀键;使用的键部分不是字符串,使用的长度比键部分长,或者存储引擎不支持唯一前缀键

那么到底是怎么回事??对于信息,我使用 MySQL 5.1.37 社区,我的表是 MyISAM,这是创建语句:

PS 我也试过让 Location NOT NULL,这没有什么区别。

0 投票
1 回答
573 浏览

mysql - 为什么我的 MySQL 索引基数被清零了?

我有一个使用 MySQL 数据库 (MYISAM) 的旧 Web 应用程序。我最近注意到应用程序的性能大大降低。检查我的索引后,我注意到所有索引的基数都报告为零。

我可以通过对每个表执行分析表来解决此问题。

但我很好奇,是什么导致基数首先归零?

0 投票
2 回答
1330 浏览

sql - 如何通过sql查询选择某个表的MySQL引擎名?

如何选择某些表的 MySQL 引擎名称。MyISAM 或 InnoDB。我们可以通过一个简单的 sql 查询来完成吗?

0 投票
6 回答
8902 浏览

sql - InnoDB 排序真的那么慢吗?

我的所有表都在 myISAM 中,但是当我长时间运行更新作业时,表级锁定开始扼杀我。我将我的主表转换为 InnoDB,现在我的许多查询需要 1 分钟以上才能完成,而它们在 myISAM 上几乎是瞬时完成的。他们通常卡在Sorting result台阶上。我做错什么了吗?

例如 :

现在大约需要 90 秒。这是描述:

现在看来,我的大量查询都停留在“排序结果”步骤中:

为什么这个简单的更新会停留 49 秒?

如果有帮助,这里是模式:

这些在我的 my.cnf

0 投票
2 回答
1706 浏览

sql - 为什么读取会阻塞 MyISAM 中的其他读取?

我有一个非常长的运行阅读。这是一个每天运行一次的 cronjob,但整个数据库在运行时会被锁定:

我可以理解更新被锁定,但为什么 SELECT 也被锁定了?

0 投票
3 回答
1463 浏览

sql - 如何加快已经在使用索引的计数(*)?(MyISAM)

我有 3 个大表(10k、10k 和 100M 行),并试图对它们的连接进行简单计数,其中所有连接的列都被索引。为什么 COUNT(*) 需要这么长时间,我怎样才能加快速度(没有触发器和运行摘要)?

但实际上运行查询大约需要 10 分钟,而且我在 MyISAM 上,所以表在这段时间内完全锁定

0 投票
2 回答
314 浏览

mysql - MYSQL MyIsaM 如何加入 2 语句 select + select count

表:postid|userid|post|replyto

后sql

SELECT * FROM table WHERE postid=12

总回复 sql

SELECT COUNT(*) AS total FROM table WHERE replyto=12

预期的结果是“帖子表”+帖子的回复数。replyto 字段是目标 postid。类似的东西:

postid|userid|post|replyto|totalreplies

是否有可能加入这两个查询?

谢谢!

0 投票
2 回答
120 浏览

mysql - 此查询将锁定哪些表?

我正在使用下面的查询在两个表之间迁移数据。我有表锁定问题,所以我正在考虑将表引擎从 MyISAM 更改为 InnoDB。我需要为哪些表执行此操作?只是我正在写入的表,还是我正在写入的表和我正在读取的表?