将MS SQL Server性能查询转换为MySQL

将MS SQL Server性能查询转换为MySQL,mysql,database-migration,query-performance,Mysql,Database Migration,Query Performance,我试图计算一些SQL查询的性能指标。我已经找到了针对MS SQL Server的基准测试查询,我希望对MySQL Workbench(Windows环境)进行相同的查询。我使用的查询如下: --Elapsed time and CPU time SET STATISTICS TIME ON; Query to measure SET STATISTICS TIME OFF; -- RAM select (physical_memory_in_use_kb)Phy_Memory_usedb

我试图计算一些SQL查询的性能指标。我已经找到了针对MS SQL Server的基准测试查询,我希望对MySQL Workbench(Windows环境)进行相同的查询。我使用的查询如下:

--Elapsed time and CPU time
SET STATISTICS TIME ON;
   Query to measure
SET STATISTICS TIME OFF;

-- RAM
select
(physical_memory_in_use_kb)Phy_Memory_usedby_Sqlserver_KB,
(virtual_address_space_committed_kb/1024 )Total_Memory_UsedBySQLServer_MB
from sys. dm_os_process_memory

--HD
sp_msforeachtable N'EXEC sp_spaceused [?]';  
你能帮我把上面的查询转换成MySQL吗? 我不想使用MySQL Workbench的性能模式提供的报告,因为我想将结果与MS SQL Server的上述查询进行比较


提前感谢您

正如Jeff指出的,您无法在MySQL中获得这些功能。你甚至无法接近。但是,这里有一些有用的东西:

  • long\u query\u time
    设置为0的情况下打开慢日志。然后在slowlog中查找有关查询的各种信息
  • 使用
    performance\u schema
    (需要“打开”)
  • 对于简单的计时,可以在客户端执行,也可以执行

    SELECT SYSDATE(6), ..., SYSDATE(6) FROM ...;
    
  • 特定查询的内存不可用。(然而,MariaDB有类似的功能。)通常查询占用相对固定且较小的内存量。它使用的大部分东西都是共享的——各种缓存

  • 解释选择…
  • EXPLAIN FORMAT=JSON选择…
  • 优化器跟踪。这需要“打开”,您需要获取结果

只是澄清一下,这些查询使用的SQL Server系统表没有在任何ANSI标准中定义,因此没有一种干净的方法可以将它们转换为另一种完全可比的RDBMS。我只是在谷歌上搜索如何在MySQL上测量查询时间、RAM和磁盘空间,而不用担心找到一个完美的SQL Server模拟。