[U] Update channel content
This commit is contained in:
+13
-1
@@ -2,11 +2,23 @@
|
||||
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-cn">
|
||||
<id>https://aza.moe/life</id>
|
||||
<title>小桂桂的回忆录 📒</title>
|
||||
<updated>2024-11-21T02:35:13.592316+00:00</updated>
|
||||
<updated>2024-11-21T04:11:11.986977+00:00</updated>
|
||||
<link href="https://aza.moe/life" rel="alternate"/>
|
||||
<generator uri="https://lkiesow.github.io/python-feedgen" version="0.9.0">python-feedgen</generator>
|
||||
<logo>https://aza.moe/meru_256px.png</logo>
|
||||
<subtitle>「我们所经历的每个平凡的日常,也许就是连续发生的奇迹」</subtitle>
|
||||
<entry>
|
||||
<id>4671</id>
|
||||
<title>小桂桂的回忆录 📒 #4671</title>
|
||||
<updated>2024-11-21T03:25:16+00:00</updated>
|
||||
<content><p>今天花了一整天调查这个数据库问题, Hibernate 全责 <i class="custom-emoji" emoji-src="emoji/6323582802050680516.webp">🛌</i> 以后的项目再也不用 Java EE 了</p>
|
||||
<p>我试了一下把这整个函数用 native mysql 写出来,发现这条大查询只用 1.19 秒,那为什么我的 kotlin 代码运行速度差这么大呢?</p>
|
||||
<p>开了 SQL debug 之后我发现即使只是 .findAll() 都要 N 条查询,按理来说 select * from table 只要一条查询就行啊,为什么呢?仔细看看这 N 条查询发现它把 OneToOne fk 都一个一个拉下来了。原本首先花了一条查询 SELECT * FROM parent,然后又花了 N 条查询拉 SELECT * FROM child WHERE id=i...</p>
|
||||
<p>查了一下这个问题,网上说开 Hibernate bytecode enhance 就好了,它会修改编译完的字节码让 fk 链接用到的时候再查询而不是预先把所有东西查询好。问题是它不太兼容 kotlin,绕过了三个不同的问题才成功编译,之后加上 lazy fetch 终于可以让它在用到 fk 的时候再拉数据了... </p>
|
||||
<p>但是即使这样依然要把需要拉所有 fk 数据的地方改成手动 mysql 查询,因为 orm/jpql 没办法让 findAll 把单独的查询优化成 join <i class="custom-emoji" emoji-src="emoji/6323582802050680516.webp">🛌</i></p>
|
||||
<p>唉 感觉凡是透明一点的 ORM 比如 ktorm 或者 exposed 都不会有这样的问题,以后不会再用 Java EE 了</p></content>
|
||||
<link href="https://aza.moe/life?post=4671" rel="alternate"/>
|
||||
</entry>
|
||||
<entry>
|
||||
<id>4670</id>
|
||||
<title>小桂桂的回忆录 📒 #4670</title>
|
||||
|
||||
File diff suppressed because one or more lines are too long
Binary file not shown.
|
After Width: | Height: | Size: 374 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 96 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 361 KiB |
Binary file not shown.
|
After Width: | Height: | Size: 67 KiB |
+48
-14
@@ -61232,7 +61232,7 @@
|
||||
"id": 4468,
|
||||
"date": "2024-09-22T06:31:03",
|
||||
"text": "开坑\n\n<del>开坑第一件事当然是起一个不会让我两年之后后悔的名字</del>",
|
||||
"views": 103,
|
||||
"views": 104,
|
||||
"forwards": 0,
|
||||
"reply": {
|
||||
"id": 4467,
|
||||
@@ -61255,14 +61255,14 @@
|
||||
"id": 4469,
|
||||
"date": "2024-09-22T17:18:21",
|
||||
"text": "朋友在多伦多开的机厅快要正式开业了,想哪天去看看 qwq\n\n唉 今天才真正意识到开机厅的人多么有钱,maimai DX 框在这边一直是五位数 USD 价格都很难拿到货,然后他告诉我他们买了两台,第二台还在海上 <i class=\"custom-emoji\" emoji-src=\"emoji/6170424195260877091.webm\">🤗</i>\n\n再看看我为了省一两千 USD 自己造 Wacca 框,为了省一千 CAD 运 ADX 框的时候自己找渠道走了海运没走空运... <i class=\"custom-emoji\" emoji-src=\"emoji/6323267916523374069.webp\">🥺</i>",
|
||||
"views": 103,
|
||||
"views": 104,
|
||||
"forwards": 2
|
||||
},
|
||||
{
|
||||
"id": 4470,
|
||||
"date": "2024-09-22T23:11:06",
|
||||
"text": "去一趟机厅赚了 $172 <i class=\"custom-emoji\" emoji-src=\"emoji/6170419595350903248.webm\">✨</i>\n\n(好吧其实并没有赚,只是把他们从我这里订的 Wacca LED 替换板卖给他们了 quq",
|
||||
"views": 97,
|
||||
"views": 98,
|
||||
"forwards": 2,
|
||||
"media_group_id": 13816373334825989,
|
||||
"images": [
|
||||
@@ -61316,7 +61316,7 @@
|
||||
"id": 4474,
|
||||
"date": "2024-09-22T23:28:08",
|
||||
"text": "他们那家店里面的样子,目前有 Wacca Plus, maimai DX, 中二, DIVA, SDVX, IIDX, 还有一些一般街机比如舰 C\n\n真的好厉害,今年三月的时候他们刚开始准备,居然现在就已经在准备开业了还有这么多劲爆机器... 真好啊,希望他们能回本 quq\n\n今天去的时候就很热闹了,有几个认识的人来玩,还有 discord 上一直觉得很厉害的店员在修路由器装修房间,也认识了一些新朋友 <i class=\"custom-emoji\" emoji-src=\"emoji/5445051141484190513.tgs\">👩👧👧</i>(不过感觉我认出来的人还是少数,虽然 discord 上都认识但是线下完全猜不出谁是谁——唉感觉是很多群友同时见面难免会遇到的问题",
|
||||
"views": 107,
|
||||
"views": 108,
|
||||
"forwards": 0,
|
||||
"media_group_id": 13816381504337565,
|
||||
"images": [
|
||||
@@ -61396,7 +61396,7 @@
|
||||
"id": 4481,
|
||||
"date": "2024-09-24T01:57:52",
|
||||
"text": "以前用 VLC 放视频的时候经常不小心按倒 C 键然后画面就会被裁剪到一个特定的长宽比,当时还在想谁会用到这么鸡肋的功能\n\n然后今天遇到了一个用 16:9 设置录 4:3 ppt 的课 🌚",
|
||||
"views": 175,
|
||||
"views": 176,
|
||||
"forwards": 2,
|
||||
"images": [
|
||||
{
|
||||
@@ -61415,7 +61415,7 @@
|
||||
"id": 4482,
|
||||
"date": "2024-09-25T05:41:50",
|
||||
"text": "定一个小目标,到明年 1 月 1 号之前我不再开新坑了,想要好好把开过没做完的坑填完...",
|
||||
"views": 143,
|
||||
"views": 144,
|
||||
"forwards": 0
|
||||
},
|
||||
{
|
||||
@@ -61428,7 +61428,7 @@
|
||||
"id": 4484,
|
||||
"date": "2024-09-25T05:49:15",
|
||||
"text": "<a href=\"##桂桂今天吃什么\">#桂桂今天吃什么</a>\n柚子!\n\n<del>长长果味触手</del>",
|
||||
"views": 138,
|
||||
"views": 139,
|
||||
"forwards": 1,
|
||||
"images": [
|
||||
{
|
||||
@@ -61447,7 +61447,7 @@
|
||||
"id": 4485,
|
||||
"date": "2024-09-26T04:33:21",
|
||||
"text": "我真的好不擅长数学...\n\nCSC458 计网课的大作业要用 cpp 实现一个网卡,我只用了三个小时就写完了,单元测试 100% 通过\n\nCSC311 机器学习理论课的作业有很多抽象数学,我这三天总共花了 14 个小时在这上面,做着做着发现完全忘记矩阵乘法维度的规则了去补补,又发现忘了非零特征值是什么意思了,怎样给偏导数求导也忘记了... 明明以为留三天的时间肯定够的,交上去的时候还是要空掉 20% 的分 <i class=\"custom-emoji\" emoji-src=\"emoji/6323582802050680516.webp\">🛌</i>\n\n怎么办好想退课... 但是现在是最后一年,退课就会打乱下学期的计划或者要晚一年毕业了 <i class=\"custom-emoji\" emoji-src=\"emoji/6323582802050680516.webp\">🛌</i>",
|
||||
"views": 171,
|
||||
"views": 172,
|
||||
"forwards": 4,
|
||||
"media_group_id": 13818601608875197,
|
||||
"images": [
|
||||
@@ -61556,7 +61556,7 @@
|
||||
"id": 4492,
|
||||
"date": "2024-09-30T03:03:34",
|
||||
"text": "又遇到了何等的巧合\n\n上次在机场遇到扶苏的时候,扶苏和我聊到她有一个朋友也要去多伦多,也玩舞萌,当时还给那个朋友发了消息但是没有回\n\n然后前几天聊聊说 Celestium 新的对象听说这里有舞萌想来玩,已经习惯了有很多人来这里玩就没有多想。然后玩着舞萌和她聊天,聊着聊着发现她就是扶苏说的那个朋友 Tracer <i class=\"custom-emoji\" emoji-src=\"emoji/6323267916523374069.webp\">🥺</i> 世界成环了\n\n聊着聊着还发现她的成分和我好相似 <i class=\"custom-emoji\" emoji-src=\"emoji/6323275213672810256.webp\">😀</i> 都在训练用来数字化自己的 LLM、都喜欢打/魔改舞萌和 ff14、搭 homelab 和 NAS、也和我大一住宿舍的时候一样做了 UofT EAP 的无线转发、写 AC 机解作业题、在尝试了解 RF... 奇妙",
|
||||
"views": 151,
|
||||
"views": 152,
|
||||
"forwards": 1,
|
||||
"reply": {
|
||||
"id": 4276,
|
||||
@@ -63744,7 +63744,7 @@
|
||||
"id": 4648,
|
||||
"date": "2024-11-14T05:31:41",
|
||||
"text": "<a href=\"##谜题\">#谜题</a> 这次是赛博管道维修工(?)\n\n<a href=\"https://www.puzzle-pipes.com/\">Pipes</a>",
|
||||
"views": 93,
|
||||
"views": 94,
|
||||
"forwards": 0,
|
||||
"reply": {
|
||||
"id": 4404,
|
||||
@@ -63907,7 +63907,7 @@
|
||||
"id": 4657,
|
||||
"date": "2024-11-16T09:07:27",
|
||||
"text": "GitHub 星星数量排名前 10000 的代码语言统计数据\n\n排名第三位的是「没有代码」 🌚 <del>众所周知 GitHub 是一个由微软开发的免费网盘</del>",
|
||||
"views": 126,
|
||||
"views": 127,
|
||||
"forwards": 2,
|
||||
"images": [
|
||||
{
|
||||
@@ -64066,7 +64066,7 @@
|
||||
"id": 4665,
|
||||
"date": "2024-11-19T06:57:00",
|
||||
"text": "感觉自己开始会玩一点 shogi 了 ☗",
|
||||
"views": 84,
|
||||
"views": 85,
|
||||
"forwards": 1,
|
||||
"images": [
|
||||
{
|
||||
@@ -64134,7 +64134,7 @@
|
||||
"id": 4669,
|
||||
"date": "2024-11-20T14:43:04",
|
||||
"text": "今天是第 25 个跨性别纪念日。由 One Among Us、Project Trans 及跨性别相关放送联合举办的纪念晚会将于2024年11月23日 20:00 (UTC+8) 举行,以文字、念白与歌声献给陨落的星辰,献给所有柔软而坚韧的我们。\n\n收看方式: <a href=\"YouTube.com/@OneAmongUsPride\">YouTube.com/@OneAmongUsPride</a> 或访问 <a href=\"live.oau.app\">live.oau.app</a> 获取更多直播信息。",
|
||||
"views": 31,
|
||||
"views": 34,
|
||||
"forwards": 0,
|
||||
"forwarded_from": {
|
||||
"name": "One Channel! 跨儿骄傲联合广播"
|
||||
@@ -64156,7 +64156,7 @@
|
||||
"id": 4670,
|
||||
"date": "2024-11-20T15:44:45",
|
||||
"text": "呜呜 当时写 AquaDX 的时候选择了「先用最方便快捷的方式把网页做出来,等有问题的时候再优化」,然后就随手写出了一个请求需要把数据库两个表完整拉下来的代码 <i class=\"custom-emoji\" emoji-src=\"emoji/6323267916523374069.webp\">🥺</i>\n\n然后现在真的有问题了,现在请求一次排行榜要拉 1452 个用户和 221448 条游玩记录... 优化之前要整整 30 秒,稍微加了缓存和 batching 优化了一下也依然要十秒 <i class=\"custom-emoji\" emoji-src=\"emoji/6323582802050680516.webp\">🛌</i>",
|
||||
"views": 43,
|
||||
"views": 49,
|
||||
"forwards": 0,
|
||||
"reply": {
|
||||
"id": 3430,
|
||||
@@ -64175,5 +64175,39 @@
|
||||
"thumb": "media/4670.jpg_thumb.jpg"
|
||||
}
|
||||
]
|
||||
},
|
||||
{
|
||||
"id": 4671,
|
||||
"date": "2024-11-21T03:25:16",
|
||||
"text": "今天花了一整天调查这个数据库问题, Hibernate 全责 <i class=\"custom-emoji\" emoji-src=\"emoji/6323582802050680516.webp\">🛌</i> 以后的项目再也不用 Java EE 了\n\n我试了一下把这整个函数用 native mysql 写出来,发现这条大查询只用 1.19 秒,那为什么我的 kotlin 代码运行速度差这么大呢?\n\n开了 SQL debug 之后我发现即使只是 .findAll() 都要 N 条查询,按理来说 select * from table 只要一条查询就行啊,为什么呢?仔细看看这 N 条查询发现它把 OneToOne fk 都一个一个拉下来了。原本首先花了一条查询 SELECT * FROM parent,然后又花了 N 条查询拉 SELECT * FROM child WHERE id=i...\n\n查了一下这个问题,网上说开 Hibernate bytecode enhance 就好了,它会修改编译完的字节码让 fk 链接用到的时候再查询而不是预先把所有东西查询好。问题是它不太兼容 kotlin,绕过了三个不同的问题才成功编译,之后加上 lazy fetch 终于可以让它在用到 fk 的时候再拉数据了... \n\n但是即使这样依然要把需要拉所有 fk 数据的地方改成手动 mysql 查询,因为 orm/jpql 没办法让 findAll 把单独的查询优化成 join <i class=\"custom-emoji\" emoji-src=\"emoji/6323582802050680516.webp\">🛌</i>\n\n唉 感觉凡是透明一点的 ORM 比如 ktorm 或者 exposed 都不会有这样的问题,以后不会再用 Java EE 了",
|
||||
"views": 24,
|
||||
"forwards": 0,
|
||||
"media_group_id": 13857276129125749,
|
||||
"images": [
|
||||
{
|
||||
"width": 2089,
|
||||
"height": 1994,
|
||||
"date": "2024-11-21T03:25:07",
|
||||
"media_type": "photo",
|
||||
"original_name": "photo_2024-11-21_03-25-07.jpg",
|
||||
"url": "media/4671.jpg",
|
||||
"size": 383053,
|
||||
"thumb": "media/4671.jpg_thumb.jpg"
|
||||
},
|
||||
{
|
||||
"width": 2354,
|
||||
"height": 890,
|
||||
"date": "2024-11-20T19:06:16",
|
||||
"media_type": "photo",
|
||||
"original_name": "photo_2024-11-20_19-06-16.jpg",
|
||||
"url": "media/4672.jpg",
|
||||
"size": 369848,
|
||||
"thumb": "media/4672.jpg_thumb.jpg"
|
||||
}
|
||||
],
|
||||
"reply": {
|
||||
"id": 4670,
|
||||
"text": "呜呜 当时写 AquaDX 的时候选择了「先用最方便快捷的方式把网页做出来,等有问题的时候再优化」,然后就随手写出了一个请求需要把数据库两个表完整拉下来的代码 <i class=\"custom-emoji\" emoji-src=\"emoji/6323267916523374069.webp\">🥺</i>\n\n然后现在真的有问题了,现在请求一次排行榜要拉 1452 个用户和 221448 条游玩记录... 优化之前要整整 30 秒,稍微加了缓存和 batching 优化了一下也依然要十秒 <i class=\"custom-emoji\" emoji-src=\"emoji/6323582802050680516.webp\">🛌</i>"
|
||||
}
|
||||
}
|
||||
]
|
||||
+12
-1
@@ -12,7 +12,18 @@
|
||||
<link>https://aza.moe/life</link>
|
||||
</image>
|
||||
<language>zh-cn</language>
|
||||
<lastBuildDate>Thu, 21 Nov 2024 02:35:13 +0000</lastBuildDate>
|
||||
<lastBuildDate>Thu, 21 Nov 2024 04:11:11 +0000</lastBuildDate>
|
||||
<item>
|
||||
<title>小桂桂的回忆录 📒 #4671</title>
|
||||
<link>https://aza.moe/life?post=4671</link>
|
||||
<description><p>今天花了一整天调查这个数据库问题, Hibernate 全责 <i class="custom-emoji" emoji-src="emoji/6323582802050680516.webp">🛌</i> 以后的项目再也不用 Java EE 了</p>
|
||||
<p>我试了一下把这整个函数用 native mysql 写出来,发现这条大查询只用 1.19 秒,那为什么我的 kotlin 代码运行速度差这么大呢?</p>
|
||||
<p>开了 SQL debug 之后我发现即使只是 .findAll() 都要 N 条查询,按理来说 select * from table 只要一条查询就行啊,为什么呢?仔细看看这 N 条查询发现它把 OneToOne fk 都一个一个拉下来了。原本首先花了一条查询 SELECT * FROM parent,然后又花了 N 条查询拉 SELECT * FROM child WHERE id=i...</p>
|
||||
<p>查了一下这个问题,网上说开 Hibernate bytecode enhance 就好了,它会修改编译完的字节码让 fk 链接用到的时候再查询而不是预先把所有东西查询好。问题是它不太兼容 kotlin,绕过了三个不同的问题才成功编译,之后加上 lazy fetch 终于可以让它在用到 fk 的时候再拉数据了... </p>
|
||||
<p>但是即使这样依然要把需要拉所有 fk 数据的地方改成手动 mysql 查询,因为 orm/jpql 没办法让 findAll 把单独的查询优化成 join <i class="custom-emoji" emoji-src="emoji/6323582802050680516.webp">🛌</i></p>
|
||||
<p>唉 感觉凡是透明一点的 ORM 比如 ktorm 或者 exposed 都不会有这样的问题,以后不会再用 Java EE 了</p></description>
|
||||
<guid isPermaLink="false">4671</guid>
|
||||
</item>
|
||||
<item>
|
||||
<title>小桂桂的回忆录 📒 #4670</title>
|
||||
<link>https://aza.moe/life?post=4670</link>
|
||||
|
||||
Reference in New Issue
Block a user