misskey icon indicating copy to clipboard operation
misskey copied to clipboard

添付している DriveFile をidの配列で持つのをやめる

Open rinsuki opened this issue 1 year ago • 3 comments

Summary

  • ギャラリー
  • 投稿の添付

parent_id, order, file_id みたいな?

問題としてマイグレーションにめちゃくちゃ時間かかりそう

from #10129

rinsuki avatar Feb 27 '23 02:02 rinsuki

TypeORMのManyToManyでサクッとやるのはダメなんかな

(別途マイグレーションは行う必要はありそうだけど)

tamaina avatar Feb 27 '23 04:02 tamaina

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の改良で十分負荷対策になれば必須ではない。

yszkst avatar Feb 27 '23 18:02 yszkst

マイクグレーションを考えるのならば、なるべく早く実装してあげると良さそう。(Misskey.ioの急成長もあるので)

yanorei32 avatar Mar 06 '23 03:03 yanorei32