misskey
misskey copied to clipboard
添付している DriveFile をidの配列で持つのをやめる
Summary
- ギャラリー
- 投稿の添付
parent_id, order, file_id
みたいな?
問題としてマイグレーションにめちゃくちゃ時間かかりそう
from #10129
TypeORMのManyToManyでサクッとやるのはダメなんかな
(別途マイグレーションは行う必要はありそうだけど)
fromからのもの。
理由
JOINで一発のSQLにしやすいのでarray型ではなく普通のテーブルにしたい "fileIds" 1つだでなく"attachedFileTypes"もいたのでいつか事故りそうという感覚 単純に正規化されていないのが気になる性分
fileIds に貼ってある index 使う方法
わからない。
無いよりはまし where cardinality("fileIds") > 0;
。
explain analyze select note.id, u."fileId", u."order" from note cross join unnest(note."fileIds") with ordinality as u("fileId", "order") where cardinality("fileIds") > 0;
と
おそらく SET enable_memoize = OFF; にする方がいい気がする。
マイグレーションの時間
たしかに投稿が対象なので多く長くなる。
マイグレーションに時間がかかるのは仕方ないと思っています。 (これは鯖の運営をしていない人間の意見です。 )
メジャーバージョンアップのタイミングならどうでしょう。
順番を保持するのでarrayにもメリットはあるのと、packManyの改良で十分負荷対策になれば必須ではない。
マイクグレーションを考えるのならば、なるべく早く実装してあげると良さそう。(Misskey.ioの急成長もあるので)