在 MySQL 上开发时,我真的很想念能够启动分析器。我发现SQLyog是查询分析器的一个足够好的替代品,但还没有找到一个像 SQL 分析器一样工作的工具。
对于没有看过微软的SQL Profiler的 MySQL 人,这里是一个截图
在我之前的工作中,我们有一个胜过 SQL Profiler的工具,甚至给了我们堆栈跟踪
有谁知道像我提到的那样适用于 MySQL 的任何工具。
(仅供参考,我可以让 Altiris Profiler 与 MySQL 一起使用,但它将涉及运行 Windows,而且它不是真正的赛门铁克 sku,因此许可非常棘手)
我正在解决 MySQL 错误“尝试获取锁定时发现死锁;尝试重新启动事务”。
我将不得不更新程序以允许死锁。该SELECT
语句是否可能会产生死锁错误?我知道它只是一个读锁,所以多重选择不会有问题,但是如果有一个INSERT
, UPDATE
orDELETE
语句(可能有连接的子查询)和一个SELECT
语句(可能有连接或子查询)怎么办?
是否有可能在SELECT
而不是INSERT
,UPDATE
或上抛出错误DELETE
。
我正在估算 Mysql 5.6 [innodb 存储引擎] 上有多少 i/o [磁盘读写],以了解如何计算磁盘读写总数,我已经在 DA 上搜索了很多,并且还用谷歌搜索了在此链接上遇到一个帖子,这很有帮助。
它说我必须使用 SHOW STATUS
mysql>SHOW STATUS;
Run Code Online (Sandbox Code Playgroud)
并监视Key_read
和Key_write
物理索引读写、Created_tmp_disk
_tables 和Created_tmp_files
创建临时文件以在磁盘上创建临时表和文件。
当我使用 innodb 时,缓冲池大小也影响磁盘读取操作的总数 [这完全取决于热页的可用性] 所以在这里我很困惑
1>>.计算磁盘读写时应该考虑的Innodb“服务器状态变量”是什么?
2>>.在计算磁盘读写时,我还应该考虑其他“服务器状态变量”吗?
3>>。我在这里还缺少其他因素吗?
4>>。硬盘类型和速度会影响总的 i/o 磁盘读写吗?
提前致谢!!!
是否有一种工具可以发现 MySql 中的冗余索引?
例如,如果我有以下索引:
index1(col1)
index2(col1,col2)
Run Code Online (Sandbox Code Playgroud)
那么index1
应该被标记为冗余。
有任何想法吗?