V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  dust0522  ›  全部回复第 2 页 / 共 2 页
回复总数  29
1  2  
2023-03-17 11:29:54 +08:00
回复了 dust0522 创建的主题 程序员 mysql 查询时的优化
{
"query_block": {
"select_id": 1,
"cost_info": {
"query_cost": "1.20"
},
"table": {
"table_name": "mr",
"access_type": "ref",
"possible_keys": [
"mer_no"
],
"key": "mer_no",
"used_key_parts": [
"mer_no"
],
"key_length": "83",
"ref": [
"const"
],
"rows_examined_per_scan": 1,
"rows_produced_per_join": 1,
"filtered": "100.00",
"cost_info": {
"read_cost": "1.00",
"eval_cost": "0.20",
"prefix_cost": "1.20",
"data_read_per_join": "10K"
},
"used_columns": [
*
]
}
}
}
2023-03-17 11:27:05 +08:00
回复了 dust0522 创建的主题 程序员 mysql 查询时的优化
我用 show profiles; 查出来的两个查询的时间差距,第二个查询没用 limit 都比第一个快,只是觉得很奇怪。

10 0.00037925 SELECT mr.* from register mr WHERE mer_no = '10373914029XXXXXXXXX' limit 1

17 0.0005085 SELECT mr2.* FROM register mr2 LEFT JOIN mccs mc ON mc.`code` = mr2.mcc_cd WHERE mr2.mer_no = '10373914029XXXXXXXXX'

@BiChengfei @rekulas @opengps @weijancc
2023-03-17 10:41:57 +08:00
回复了 dust0522 创建的主题 程序员 mysql 查询时的优化
表:register InnoDB 16w 条数据 mer_no 有索引 、mcc_cd 没索引

表:mccs MyISAM 300 条数据 code 没索引

-- 0.25 秒以上

SELECT * FROM register WHERE mer_no = '10373914029XXXXXXXXX' limit 1



-- 0.18 秒

SELECT * FROM register mr LEFT JOIN mccs mc ON mc.code = mr.mcc_cd WHERE mr.mer_no = '10373914029XXXXXXXXX' limit 1
2023-03-17 10:40:37 +08:00
回复了 dust0522 创建的主题 程序员 mysql 查询时的优化
register InnoDB 16w 数据 mer_no 有索引


mcc_cd 没索引 mccs MyISAM 300 条数据 code 没索引

-- 0.25 秒以上 SELECT * FROM register WHERE mer_no = '10373914029XXXXXXXXX' limit 1



-- 0.18 秒 SELECT * FROM register mr LEFT JOIN mccs mc ON mc.code = mr.mcc_cd WHERE mr.mer_no = '10373914029XXXXXXXXX' limit 1
2023-02-22 11:56:52 +08:00
回复了 dust0522 创建的主题 Java 用了 ShardingSphere Spring Transactional 注解 改不了事务隔离级别
spring.shardingsphere.datasource 利用反射初始化的连接池的创建参数,我一直没想连接池的事
2023-02-22 11:47:46 +08:00
回复了 dust0522 创建的主题 Java 用了 ShardingSphere Spring Transactional 注解 改不了事务隔离级别
@OldCarMan 你提醒了我,解决了哈哈,我用的 Druid 连接池 在配置文件中加入 spring.shardingsphere.datasource.defaultTransactionIsolation=4 (4 代表 REPEATABLE-READ), 这样连接池在创建连接的时候,会把这个值赋给 ShardingSphereConnection 。
2023-02-21 15:42:16 +08:00
回复了 dust0522 创建的主题 Java 用了 ShardingSphere Spring Transactional 注解 改不了事务隔离级别
@WashFreshFresh 那我 fork 下来把 ShardingSphereConnection 默认的隔离级别预制成 REPEATABLE-READ 试试
2023-02-21 10:04:56 +08:00
回复了 dust0522 创建的主题 Java 用了 ShardingSphere Spring Transactional 注解 改不了事务隔离级别
2023-02-21 10:02:53 +08:00
回复了 dust0522 创建的主题 Java 用了 ShardingSphere Spring Transactional 注解 改不了事务隔离级别
if (currentIsolation != definition.getIsolationLevel()) 应该是这个代码是 false 贴错了
1  2  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   986 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 18ms · UTC 21:43 · PVG 05:43 · LAX 14:43 · JFK 17:43
Developed with CodeLauncher
♥ Do have faith in what you're doing.