我发现MySQL有多种行格式,可以指定或更改它.此外,MySQL版本的默认ROW_FORMAT随着时间的推移显然已经发生变化,这是可以理解的.
但是,我找不到任何说明如何找出现有表的ROW_FORMAT的地方!我的数据库已存在多年,从旧版本的MySQL,我想确保我没有使用表现不佳的古代磁盘格式.
如何在MySQL中找到表的ROW_FORMAT?
我的应用程序做了相当多的事情之一是:
select count(distinct id) from x;
Run Code Online (Sandbox Code Playgroud)
使用id表的主键x.使用MySQL 5.1(和5.0),它看起来像这样:
mysql> explain SELECT count(distinct id) from x;
+----+-------------+----------+-------+---------------+-----------------+---------+------+---------+-------------+
| id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
+----+-------------+----------+-------+---------------+-----------------+---------+------+---------+-------------+
| 1 | SIMPLE | x | index | NULL | ix_blahblahblah | 1 | NULL | 1234567 | Using index |
+----+-------------+----------+-------+---------------+-----------------+---------+------+---------+-------------+
Run Code Online (Sandbox Code Playgroud)
在InnoDB上,这并不是很酷,但它也不错.
本周我正在尝试使用MySQL 5.5.11,并且惊讶地发现相同的查询速度慢很多倍.启动缓存后,与之前的5秒相比,大约需要90秒.该计划现在看起来像这样:
mysql> explain select count(distinct id) from x;
+----+-------------+----------+-------+---------------+---------+---------+------+---------+-------------------------------------+
| id | select_type …Run Code Online (Sandbox Code Playgroud) 我有一个使用msbuild的.NET项目,我想尝试在Mono中构建.我可以很好地构建一些琐碎的目标,但是如果我尝试完整的编译就会失败.
我不确定有多少输出是相关的,但这些是第一行看起来像麻烦:
Target GetFrameworkPaths:
/usr/lib/mono/3.5/Microsoft.Common.targets: warning : TargetFrameworkVersion 'v4.0' not supported by this toolset (ToolsVersion: 4.0).
Run Code Online (Sandbox Code Playgroud)
和
Target ResolveAssemblyReferences:
/usr/lib/mono/3.5/Microsoft.Common.targets: warning : Reference 'System.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' not resolved
Run Code Online (Sandbox Code Playgroud)
和
/usr/lib/mono/3.5/Microsoft.CSharp.targets: error : Error executing tool '/usr/bin/dmcs': ApplicationName='/usr/bin/dmcs', CommandLine='/noconfig @/tmp/tmp4749932e.tmp', CurrentDirectory='/home/ken/foo/bar'
Task "Csc" execution -- FAILED
Run Code Online (Sandbox Code Playgroud)
我正在运行最新的Debian不稳定.根据该 "公契" 是 4.0编译器.我根本没有使用过Mono/xbuild - 为了编译C#4.0项目,还有什么特别之处吗?谢谢!