- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含大约 100k 条记录的表(当前为 InnoDB)。这些记录有一个顺序列,因此它们可以组成一个有序队列。实际上,这些记录属于大约 40 个部门,这些部门有自己的队列,而这些队列又在该表中拥有自己的记录。
问题是我们不断收到“锁定等待时间”错误,因为各个部门同时对其队列(和记录)进行排序。
我知道MyIsam是表级
锁引擎,而InnoDB是行级
。问题是我不确定哪种操作对于这种操作来说更快。
另一件事是,该表与其他 InnoDB 表在各种查询中连接,我不知道如果我将该表切换到 MyIsam 会发生什么。
表结构如下:
CREATE TABLE `ssti` (
`demand_nber` MEDIUMINT(8) UNSIGNED NOT NULL COMMENT,
`year` CHAR(4) NULL DEFAULT NULL COMMENT,
`department` CHAR(4) NULL DEFAULT NULL COMMENT '4 caracteres',
-- [other columns ]
`priority` INT(10) UNSIGNED NOT NULL DEFAULT '9999999',
PRIMARY KEY (`NR_DMD`)
)
COLLATE='latin1_swedish_ci'
ENGINE=InnoDB;
这是更新优先级的 java 代码:
PreparedStatement psUpdatePriority = con.prepareStatement("UPDATE `ssti` SET `priority` = ? WHERE demand_nber=?;");
for (int i = 0; i < demands.length(); ++i) {
JSONObject d = demands.getJSONObject(i);
psUpdatePriority.setInt(1, d.getInt("newPriority"));
psUpdatePriority.setInt(2, d.getInt("demandNumber"));
psUpdatePriority.addBatch();
}
int[] totalUpdated = psUpdatePriority.executeBatch();
最佳答案
调查性能问题时,请务必联系 slow query log这样您就可以记录导致问题的特定查询。
这里看起来是您在 WHERE
子句中包含了一列未编入索引的列。这对于大型数据集来说是极其痛苦的,因为它需要“表扫描”,或者读取每条记录并按顺序对其进行评估。
编入索引后,您的查询速度应该会明显加快。
如果您真的陷入困境,您可能需要将每个部门分成自己的表。这是很难撤消的,所以我只会将其作为最后的手段。
关于mysql - InnoDB 与 MyIsam 在频繁排序的 MySQL 5.5 表上的比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25435115/
我有一个包含值的字符串数组(duh...)。 有没有一种简单的方法可以获取出现次数最多的条目?有点像 values[37].getMostOften(); 干杯:) 最佳答案 您可以使用GroupBy
我目前正在将一款用 C#(适用于 Windows Phone)开发的游戏移植到 Java (Android)。 我们在 Java 版本中遇到了内存问题,在分析之后,似乎是由于内存中的大量 String
对于播放音频文件的 iPhone 应用程序,我正在开发一个系统来跟踪用户在他们听过的任何一集中的进度(例如,他们听 file1 的前 4:35,然后开始另一个文件,然后返回到文件 1,它从 4:35
如果您按下 UIbutton 显示 UITextView,将请求代码 Ì 再次按下 UIbutton 再次显示 UITextView :/ 最佳答案 .h 文件中只有一个 int 变量,如下所示..
我在 Application_End 上处理的项目中使用临时数据库: protected void Application_End() { if (_db != null) _db.Dispo
我是一名优秀的程序员,十分优秀!