问题标签 [mysql-5.1]
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.
mysql - 非常慢的查询执行时间
我试图弄清楚为什么与我的笔记本电脑相比,查询在服务器上执行的时间太长。服务器和笔记本电脑都在 WAMP 2.0 上运行 MySQL 5.1.36,并且具有相同的数据库架构,因为我已将其从服务器数据库导出并将其导入笔记本电脑的数据库。0.031
在笔记本电脑上执行需要几秒钟,而82.447
在服务器上执行需要几秒钟!
笔记本电脑规格
操作系统:Microsoft Windows 7 Professional,处理器:Intel® Core™ i7-4600M 处理器(4M 高速缓存,最高 3.60 GHz),内存:8GB
服务器规格
操作系统:Microsoft Windows 2008 Standard SP2,处理器:Intel® Xeon® Processor X5570(8M 高速缓存,2.93 GHz,6.40 GT/s Intel® QPI),内存:4GB
以下是执行查询和不执行查询时服务器上 CPU 利用率的屏幕截图。请记住,服务器是在服务器场中运行的 VM。
下面是查询,每个表的行数不超过 1000 行。
跑EXPLAIN
了上面的查询
mysql - MySQL上非常慢的选择查询
我试图理解为什么选择查询在我的笔记本电脑上运行得非常快,而在服务器上却非常慢。查询需要1.388
几秒钟才能在笔记本电脑上运行,而49.670
在服务器上需要几秒钟。两种模式都是相同的,因为我从笔记本电脑中导出了方案并将其导入服务器。两者都在 WAMP 2.0 上运行 MySQL 5.1.36。
SQL 转储
询问
解释扩展 - 服务器
解释扩展 - 笔记本电脑
模型
笔记本电脑规格
操作系统:Microsoft Windows 7 Professional,处理器:Intel® Core™ i7-4600M 处理器(4M 高速缓存,最高 3.60 GHz),内存:8GB
服务器规格
操作系统:Microsoft Windows 2008 Standard SP2,处理器:Intel® Xeon® Processor X5570(8M 高速缓存,2.93 GHz,6.40 GT/s Intel® QPI),内存:4GB
故障排除
1.将两个数据库中所有表的引擎从 InnoDB 更改为 MyISAM,并进行了优化。89.435
在服务器上运行需要几57.252
秒钟,在笔记本电脑上运行需要几秒钟。1.388
与使用 InnoDB 引擎的秒查询时间相比,笔记本电脑仍然更快,但速度极慢。
mysql - 相同的 MySQL 查询在 5.6 中运行比在 5.1 中慢得多
我遇到了一个奇怪的问题,在我们将数据库从 MySQL 5.1.73 升级到 5.6.23 后,我们拥有的这个特定 MySQL 查询的运行速度会慢近 50 倍。
这是 SQL 查询:
现在的问题是,当我在升级前在 MySQL 5.1.73 中运行此查询时,查询只需要大约 1.5 秒,但升级到 5.6.23 后,现在可能需要 1 分钟。
所以我在 5.1.73 中对这个查询做了一个解释,我看到了这个:
放大版:http: //i.stack.imgur.com/c4ko0.jpg
当我在 5.6.23 中解释时,我看到了这个:
放大版:http: //i.stack.imgur.com/CgBtA.jpg
我可以看到,在这两种情况下,都对显示表进行了全面扫描(类型 ALL),但是还有其他我没有看到的导致 5.6 大幅减速的东西吗?
谢谢是
mysql - 使用 ASP 和 MySQL 设置字符集
任何人都知道如何解决这个问题?文本显示如下:“Sugest�es”
我在 asp 中有一个网页,它从 MySQL 获取数据,数据库和表设置为默认 utf-8,我的网页使用 utf8 编码,没有 bom,并具有以下代码
有任何想法吗?谢谢
编辑:顺便说一下,我在此页面中从 db 获得的其他数据效果很好,只有从这个表中它不起作用,并且 iv 已经检查并且所有表都是相同的。
mysql - Mysql 5.1.69 中的 SHA256
我们使用 MySQL 5.1.69 并希望通过 SQL 脚本将具有 MD5 散列值的表更改为 sha256 散列值。
MySQL 函数 MD5 和 SHA1 有效,但 MySQL 5.1.69 不支持 SHA2。如何将此功能安装到数据库?
谢谢你!
mysql - 列的 MySQL CharacterSet 转换是否会影响现有值
我有一个 MySQL 表'server_info'
,它有 2 列“server_id”和“server_details”,其中列的字符集'server_details'
是“latin1”,表中有 100 行数据。现在,我在用一些特定的字符串值更新表时遇到了一些错误。错误信息如下
'列 server_details 的字符串值不正确......'
我意识到这是由于不同的字符集。
所以我决定将我的字符更改为'utf-8'以支持新字符串。
如果我更改字符集,现有数据会受到影响吗?
现有数据会怎样?
在进行此转换之前,我应该注意哪些事项?
这种转换是解决我问题的正确方法吗?
当我签MySQL 5.6 version
入时,转换给了我一条消息“100 行受到影响”这是否意味着现有数据也被转换为新字符集?
- 如果是,这是否与我在 MySQL 5.1 版本中可以预期的行为相同?
mysql - MySQL自动按周分区
我创建了一个表来记录我的应用程序的活动。该表每月将记录超过 200 万条记录。所以我想按月或周使用分区
但问题是我必须手动创建分区,例如
有什么方法可以自动按月或按周创建分区吗?
谢谢
security - 散列敏感信息以在 MySQL 中搜索
我在 MySQL 表中有需要加密的字段。由于它们是加密的,我无法在 MySQL 中搜索它们,我已阅读不要在 MySQL 5.1 中使用 AES_ENCRYPT,因此我将使用 PHP 来进行加密/解密。我的应用程序需要搜索这些关键信息,以防止重复记录进入表中。
此问题的这些字段将是First Name , Last Name & Date Of Birth
我的想法是我需要使用某种散列,我将如何成功地散列这些信息以创建一个唯一的密钥但保持它的安全。我认为添加独特的盐有助于安全性(彩虹表),但我将如何搜索?
此密钥将严格用于保存唯一记录,不用于身份验证。
mysql - 确定如何在 MySQL 中获取锁
来自 MySQL 文档:
锁定读取、UPDATE 或 DELETE 通常会在 SQL 语句处理过程中扫描的每个索引记录上设置记录锁。语句中是否存在将排除该行的 WHERE 条件并不重要。InnoDB 不记得确切的 WHERE 条件,而只知道扫描了哪些索引范围。
当我执行 UPDATE 时(虽然我也会对其他人感兴趣,现在我关心 UPDATE 语句),有没有办法将锁按相同的顺序放置,以便尽可能避免死锁?
如果在使用 INNER JOIN(或使用多个表)执行 UPDATE 时可以这样做,我也会非常感兴趣。
由于并发更新和插入(甚至删除),我的表中发生了死锁。
mysql - Mysql 5.6 到 5.1 的复制
我知道mysql不支持这个。但根据http://dev.mysql.com/doc/refman/5.6/en/replication-compatibility.html和https://serverfault.com/questions/262936/is-replication-from-mysql-5- 5-master-to-a-5-1-slave-possible这是可能的。
我遇到了这个问题:
中继日志读取失败:无法解析中继日志事件条目。
可能的原因有:
- 主服务器的二进制日志已损坏(您可以通过
mysqlbinlog
在二进制日志上运行 ' ' 来检查),- 从站的中继日志已损坏(您可以通过
mysqlbinlog
在中继日志上运行“”来检查),- 网络问题,或者 master 或 slave 的 MySQL 代码中的 bug。
如果你想查看master的binary log或者slave的relay log,你可以通过
SHOW SLAVE STATUS
在这个slave上发出' '来知道它们的名字。
二进制日志没有损坏,但即使我重置复制,中继日志也已损坏。主人没有腐败。只有奴隶才有腐败。
它似乎只发生在 utf8 表上。更具体地说,在对 utf8 表进行更改之前,中继日志中没有损坏。
是否有修复或 5.6 到 5.1 是不可能的?