性能问题

上周我遇到了 MyBatis 性能问题。
我花了很长时间才弄清楚原因。

2 02 3 年1 0月1 5 日,在线系统突然死机。

我朋友测试过。
接口响应时间从5 0ms增加到3 秒。

查看MyBatis SQL日志。
我发现很多SQL执行速度非常慢。

主要原因是参数类型不匹配。
JDBC 参数类型为 nvarchar(4 000)。
数据库字段为 char(2 0)。

这种不匹配会触发隐式类型转换。

每个查询都必须将 nvarchar 转换为 char。

数据库(SQLServer)很愚蠢。
我想不通。
CPU 正在增加。
尝试环境压力测试。
每秒 1 000 次查询。
每次转换 0.1 毫秒。

这一天已经过去了。
仅此转换。
CPU立即被解雇。

索引也无效。
它可能已被索引。
因为类型不相关。
系统认为没有索引。
它只能扫描整个表。

char类型是固定长度的。
每个 char(2 0) 字段。
它们都包含固定的 2 0 个字节。

nvarchar 是 unicode。
英文字符1 字节。
汉字是2 个字节。
可变长度。

char(2 0) 存储汉字。
后面应该还有间隙。
索引效率高。

nvarchar 存储汉字。
无需填空。
但索引的有效性比char差。

我的解决方案是显式指定 jdbcType=CHAR。

将其写入 MyBatis XML:
xml <select id="getUserName" resultType="String"> 从 dbo.User(nolock) 中选择用户名,其中 userId={userId,jdbcType=CHAR} </选择>
或更改字段类型。
将 char(2 0) 转换为 nvarchar(2 0)。

但是是调整存储空间后计算的。
nvarchar 是 char 的两倍。

监测结果。
SQL 中始终存在 CONVERT_IMPLICIT 警告。
只需使用 SQLServerProfiler 对其进行监控即可。

最后,我发现有些工具类默认将String转换为nvarchar。
忘了它。
更改 jdbcType=CHAR 后。
问题就消失了。

phpstorm2025.3.1.1配置apache服务器

哎,用PHPStorm配置Apache的步骤需要详细讲解一下,不然很容易错过重点。
先说一下PHP解释器的配置,这是基础中的基础。

要打开PhpStorm,需要找到文件菜单,然后单击设置,进去找到语言和框架,然后单击PHP。
这里你看到有一个PHP可执行字段,这是关键,你需要填写你本地PHP解释器的完整路径。
例如,如果您使用的是 Windows 系统,则路径可能是 C:\php\php.exe。
如果您使用的是 Linux 系统,则可能是 /usr/bin/php。
如果你正确执行了这一步,PhpStorm就能正确识别你的PHP环境,后续的调试和运行就能顺利进行。

然后就是Apache服务器信息的配置,这个配置就更不简单了。
首先,您需要创建运行配置,单击“运行”,然后单击“编辑配置”。
看到加号了吗?单击 ,选择“PHP 网页”,也可以直接将“PHP 网页”更改为默认值。

接下来,设置服务器参数。
在“服务器”选项卡上,输入 localhost 作为服务器地址,并输入项目的相对路径作为启动 URL,例如 /myproject。
如果项目在Apache根目录下,可以留空或者编译/。

然后,配置开发工具连接,进入Tools,然后Development,然后点击Configuration。
此时,Web服务器根URL应指向Apache网站根目录,例如http://localhost或您的自定义域名,并且您需要确认路径映射是否正确。

部署设置是可选的,但非常方便。
你可以在“工具”中找到“开发”,然后在“选项”中,在这里启用“自动上传”,这样一旦文件被修改,PhpStorm就会自动与Apache服务器同步,省去了你手动复制文件的麻烦。

接下来,添加部署服务器,单击“工具”,然后单击“部署”,单击加号,选择“本地”或“挂载文件夹”,输入本地项目路径和 Apache 登录 URL,例如 http://localhost:8 08 0。
如果需要更改端口,则必须同时更改 Apache 的 httpd.conf 文件中的 Listen 指令。

检查配置,这一步很重要。
写一个简单的PHP文件,比如index.php,写phpinfo();在其中,然后通过 PhpStorm Run 按钮启动项目。
在浏览器中打开 http://localhost/index.php。
如果看到PHP信息页面,则说明配置成功。
如果出现4 04 错误,需要检查Apache根目录设置或文件路径是否匹配。

最后,请注意几句话。
如果您使用像 phpstudy 这样的预配置环境,请确保 Xdebug 已安装并正确配置。
例如,在 php.ini 中,您必须禁用 ZendDebugger、启用 Xdebug 并设置 xdebug.mode=debug。
如果出现端口冲突,您需要更改Apache配置文件中的Listen值,例如从8 0更改为8 08 0,然后同时更新PhpStorm部署URL。
这样就完成了Apache服务器的配置过程。

apache的配置文件中,哪个字段定义了访问日志的路径

Apache,如果要修改日志必须使用 LogFormat 和 CustomLog 指令。
这两个元素允许您自定义日志并添加更详细的字段。
操作方法如下:
首先按电脑键盘上的WIN+R热键,显示运行窗口,输入CMD。
按 Enter 键,将打开 CMD 命令窗口。
然后在窗口中输入更改当前工作目录的命令:C:\Apache2 .4 .4 \bin。
按回车键确认,将切换到Apache可执行程序目录。
继续输入命令:httpd -V。
注意字母V必须大写。
按回车键并等待一段时间后,您将看到Apache配置文件的路径。
SERVER_CONFIG_FILE后面的内容是配置文件的路径。

说实话,当时我不明白为什么要按WIN+R。
后来发现是打开运行窗口。
这一步的操作其实很简单,只需要一步步进行即可。