nulIptr 最近的时间轴更新
nulIptr

nulIptr

V2EX 第 164774 号会员,加入于 2016-03-24 23:17:16 +08:00
nulIptr 最近回复了
软著随便编,没人看的,我今年负责给公司编了 7-8 篇了。。。代码更没人看,主要是格式对了就行
36 天前
回复了 Geekerstar 创建的主题 Java 如何评价 Java 类中写 SQL 的行为?
曾经我也用 ef,后来发现还是 dapper 好用。
模板生成增删查改方法,更复杂的方法直接上 sql
写好注释,复杂业务下 sql 可维护性比 orm 高
再说你们用 orm 的就没见过慢查询吗。。。
60 天前
回复了 iamsk 创建的主题 分享创造 数据字典:多数据库定义、注释管理
学过软件工程的都听过 power designer 和 IBM Rational Rose 吧。。。
只是这些商业软件用起来成本较高。。。
不是有 blueocean 么。而且我这好像没你这问题
61 天前
回复了 nulIptr 创建的主题 MySQL mysql 表设计/慢查询求解,详细场景见正文
@dog82 如果你说的 pid 指的是 parentid,那查起来可太费劲了,比这个还费劲
62 天前
回复了 nulIptr 创建的主题 MySQL mysql 表设计/慢查询求解,详细场景见正文
@xx6412223 对呀,去掉 orderby 就是 1 秒内了,但是需求要求分页。

@CodeCodeStudy 我自己喜欢 sql 全大写,但是到现在这个公司已经变成这个现在的形状了。。。
对于组织 id 字段如果重新设计的话应该怎么搞?核心需求就是父级部门能看到子部门的数据,平级部门之间互相隔离。
用 vin 做关联好像是通用做法,据说 vin 就等于车辆唯一标识。
`vehicle_vin_IDX` (`vin`,`Dr`,`OrganizationId`,`LicensePlateNo`)这个索引属于有病乱投医。
62 天前
回复了 nulIptr 创建的主题 MySQL mysql 表设计/慢查询求解,详细场景见正文
@shenjinpeng
@huntcool001
``` json

{
"version": "json",
"signature": "MySQL Connector Java",
"date": "2020-09-28T13:58:48.103781",
"sql": "select\r\n\t\tv.OrganizationId, v.Vin, v.LicensePlateNo,s.*\tfrom\r\n\t\tvehicle `v`\r\n\tjoin trip `s` on\r\n\t\t`s`.`Vin` \u003d `v`.`Vin`\r\n\twhere\r\n\t\tv.dr \u003d 0\r\n\t\t and v.OrganizationId between 10000000000000000 and 19999999999999999\r\norder by\r\n\tEndTime desc\r\nlimit 0,\r\n10",
"root": [
{
"name": "",
"kind": "Node",
"type": "select",
"cond": "",
"desc": "",
"attributes": {
"select_id": "1",
"query_cost": "3808.72"
},
"child": [
{
"name": "",
"kind": "Node",
"type": "ordering_operation",
"cond": "",
"desc": "",
"attributes": {
"using_temporary_table": "true",
"using_filesort": "true",
"sort_cost": "1684.78"
},
"child": [
{
"name": "",
"kind": "Node",
"type": "nested_loop#1",
"cond": "",
"desc": "",
"attributes": {},
"child": [
{
"name": "v (index)",
"kind": "Node",
"type": "table",
"cond": "",
"desc": "",
"attributes": {
"table_name": "v",
"access_type": "index",
"possible_keys": "[\"vehicle_vin_IDX\"]",
"key": "vehicle_vin_IDX",
"used_key_parts": "[\"vin\",\"Dr\",\"OrganizationId\",\"LicensePlateNo\"]",
"key_length": "259",
"rows_examined_per_scan": "471",
"rows_produced_per_join": "5",
"filtered": "1.11",
"using_index": "true",
"read_cost": "101.15",
"eval_cost": "1.05",
"prefix_cost": "102.20",
"data_read_per_join": "7K",
"used_columns": "[\"Id\",\"Dr\",\"OrganizationId\",\"LicensePlateNo\",\"vin\"]",
"attached_condition": "(((`v`.`Dr` \u003d 0) and (`v`.`OrganizationId` between 10000000000000000 and 19999999999999999)) and (`v`.`vin` is not null))"
}
}
]
},
{
"name": "",
"kind": "Node",
"type": "nested_loop#2",
"cond": "",
"desc": "",
"attributes": {},
"child": [
{
"name": "s (ref)",
"kind": "Node",
"type": "table",
"cond": "",
"desc": "",
"attributes": {
"table_name": "s",
"access_type": "ref",
"possible_keys": "[\"trip_Vin_IDX\"]",
"key": "trip_Vin_IDX",
"used_key_parts": "[\"Vin\"]",
"key_length": "202",
"ref": "[\"orgidchange.v.vin\"]",
"rows_examined_per_scan": "321",
"rows_produced_per_join": "1684",
"filtered": "100.00",
"read_cost": "1684.78",
"eval_cost": "336.96",
"prefix_cost": "2123.94",
"data_read_per_join": "3M",
"used_columns": "[\"Id\",\"Vin\",\"LicensePlateNo\",\"20 个其他字段\"]"
}
}
]
}
]
}
]
}
]
}

```
上面是 dbeaver 导出的执行计划,可能更详细点,自带的 explain 表格搞了半天格式都会乱,好难用,mysql 版本是 5.7,没有 explain ANALYZE
62 天前
回复了 mutelog 创建的主题 程序员 为什么需要服务发现?
我有个问题,你们的内部微服务系统还绑定了域名吗。
那是不是还要 https 啊
现在鄙人在小厂,都是 ip+端口。
我还想到一个原因就是 rpc 服务不能绑域名。
老东家做 erp 的,sqlserver,单表最多 50 字段。一张单据经常要 join7-8 个表。。。
关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2670 人在线   最高记录 5268   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 12ms · UTC 07:22 · PVG 15:22 · LAX 23:22 · JFK 02:22
♥ Do have faith in what you're doing.