【无标题】

Apple 使用“Unicode 双向算法”来呈现文本。
如果字符串中的第一个字符是 LTR(左到右),则算法将字符串其余部分的表示视为 LTR(左到右)。所以当英文跟阿拉伯语混在一起的时候,英语一定展示在前面(英语在前,就是LTR,所以英语在左边;阿拉伯语在前,就是RTL,在后面的英语就会在左边展示)

如果要强制RTL需要在文本前后各加一个特殊符号,文案前加\u200F ,文案后加\u202c。表示这段话要RTL,oc例如:

[NSString stringWithFormat:@"\u200F%@\u202c", @"your string with RTL content"]

swift的话需要变一下写法,文章后面的例子类似变就行了:

[NSString stringWithFormat:@"\u200E%@\u202c", @"your string with LTR content"]

如果要强制LTR需要在文本前后各加一个特殊符号,文案前加\u200E,文案后加\u202c。 表示这段话要LTR,例如:

[NSString stringWithFormat:@"\u200E%@\u202c", @"your string with LTR content"]

如果有换行的话,要在每行各自进行处理,例如这样:

NSString *str = @" فقط \n\u200Fabcdكل شهر \u202c";

在这里插入图片描述
在这里插入图片描述
原文链接

### 查询 MySQL 数据库中历史执行 SQL 的方法 在 MySQL 中,可以通过多种方式查询历史执行的 SQL 语句。以下是几种常见的实现方法: #### 方法一:通过 INFORMATION_SCHEMA.PROCESSLIST 表 如果需要实时监控当前正在运行的 SQL 语句,可以切换到 `information_schema` 数据库并查询 `PROCESSLIST` 表中的数据[^1]。 ```sql USE information_schema; SELECT * FROM information_schema.`PROCESSLIST` WHERE info IS NOT NULL; ``` 该方法仅适用于获取当前活动连接上正在执行的 SQL 语句,无法用于查询过去的 SQL 记录。 --- #### 方法二:启用 General Query Log 功能 为了记录所有的 SQL 执行历史,可以开启 MySQL 的通用查询日志功能 (General Query Log)[^3]。具体操作如下: 1. **确认 general_log 是否已启用** ```sql SHOW VARIABLES LIKE 'general_log%'; ``` 2. **设置 general_log 参数** 如果未启用,则可通过以下命令动态修改配置: ```sql SET GLOBAL general_log = ON; SET GLOBAL log_output = 'TABLE'; -- 将日志存储至表中以便于查询 ``` 3. **查询 history_sql 表** 启用后,所有执行过的 SQL 都会被写入 `mysql.general_log` 表中,可按需筛选: ```sql SELECT * FROM mysql.general_log ORDER BY event_time DESC LIMIT 10; ``` 需要注意的是,长期开启此功能可能会显著增加磁盘 I/O 和性能开销,因此建议仅在调试或特定场景下临时启用。 --- #### 方法三:利用 Binary Logs (Binlogs) 当启用了 Binlog 日志时,MySQL 会自动保存所有 DML/DDL 操作的历史记录[^4]。这些记录可用于回溯指定时间段内的 SQL 变更情况。 1. **导出指定时间范围的日志文件** 使用 `mysqlbinlog` 工具提取目标区间的数据: ```bash mysqlbinlog --base64-output=decode-rows -vv \ --start-datetime='2023-04-04 14:00:00' \ --stop-datetime='2023-04-04 15:00:00' \ /path/to/mysql-bin.000043 > /tmp/sql_record.txt ``` 2. **过滤关键字** 对生成的结果进一步处理以定位具体的 SQL 语句: ```bash grep config_json /tmp/sql_record.txt ``` 这种方法适合分析较长时间跨度的操作记录,但不支持读取只读模式下的非事务型变更。 --- #### 方法四:基于慢查询日志 (Slow Query Log) 对于耗时较长或者效率较低的 SQL 请求,也可以借助 Slow Query Log 来追踪其行为特征[^2]。虽然它主要关注性能瓶颈而非全面覆盖每条指令,但在某些情况下仍然非常有用。 启动步骤类似于上述提到的 General Query Log 设置过程,只需调整对应的变量即可: ```sql SET GLOBAL slow_query_log = ON; SET GLOBAL long_query_time = 1; -- 定义阈值为超过一秒即视为缓慢请求 ``` 随后查阅相关文档路径下的 `.log` 文件内容完成后续解析工作。 --- ### 总结 综上所述,针对不同需求可以选择合适的方案来满足实际业务要求。例如短期测试推荐采用 Method Two;而对于生产环境则优先考虑 Method Three 并配合其他辅助工具共同协作达成目的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值