diff options
author | Chocobozzz <me@florianbigard.com> | 2018-12-20 15:25:24 +0100 |
---|---|---|
committer | Chocobozzz <me@florianbigard.com> | 2018-12-20 15:25:49 +0100 |
commit | 439b1744f5f50b8530cded9398d51aa4bb5ed4ff (patch) | |
tree | c1e432dc55b377f2e7de44d8f6878ad161292b56 /server/models/video | |
parent | 2f5c6b2fc6e60502c2a8df4dc9029c1d87ebe30b (diff) | |
download | PeerTube-439b1744f5f50b8530cded9398d51aa4bb5ed4ff.tar.gz PeerTube-439b1744f5f50b8530cded9398d51aa4bb5ed4ff.tar.zst PeerTube-439b1744f5f50b8530cded9398d51aa4bb5ed4ff.zip |
Optimize index sizes
Diffstat (limited to 'server/models/video')
-rw-r--r-- | server/models/video/video.ts | 44 |
1 files changed, 36 insertions, 8 deletions
diff --git a/server/models/video/video.ts b/server/models/video/video.ts index 3f282580c..bcf327f32 100644 --- a/server/models/video/video.ts +++ b/server/models/video/video.ts | |||
@@ -102,17 +102,45 @@ const indexes: Sequelize.DefineIndexesOptions[] = [ | |||
102 | { fields: [ 'createdAt' ] }, | 102 | { fields: [ 'createdAt' ] }, |
103 | { fields: [ 'publishedAt' ] }, | 103 | { fields: [ 'publishedAt' ] }, |
104 | { fields: [ 'duration' ] }, | 104 | { fields: [ 'duration' ] }, |
105 | { fields: [ 'category' ] }, | ||
106 | { fields: [ 'licence' ] }, | ||
107 | { fields: [ 'nsfw' ] }, | ||
108 | { fields: [ 'language' ] }, | ||
109 | { fields: [ 'waitTranscoding' ] }, | ||
110 | { fields: [ 'state' ] }, | ||
111 | { fields: [ 'remote' ] }, | ||
112 | { fields: [ 'views' ] }, | 105 | { fields: [ 'views' ] }, |
113 | { fields: [ 'likes' ] }, | ||
114 | { fields: [ 'channelId' ] }, | 106 | { fields: [ 'channelId' ] }, |
115 | { | 107 | { |
108 | fields: [ 'category' ], // We don't care videos with an unknown category | ||
109 | where: { | ||
110 | category: { | ||
111 | [Sequelize.Op.ne]: null | ||
112 | } | ||
113 | } | ||
114 | }, | ||
115 | { | ||
116 | fields: [ 'licence' ], // We don't care videos with an unknown licence | ||
117 | where: { | ||
118 | licence: { | ||
119 | [Sequelize.Op.ne]: null | ||
120 | } | ||
121 | } | ||
122 | }, | ||
123 | { | ||
124 | fields: [ 'language' ], // We don't care videos with an unknown language | ||
125 | where: { | ||
126 | language: { | ||
127 | [Sequelize.Op.ne]: null | ||
128 | } | ||
129 | } | ||
130 | }, | ||
131 | { | ||
132 | fields: [ 'nsfw' ], // Most of the videos are not NSFW | ||
133 | where: { | ||
134 | nsfw: true | ||
135 | } | ||
136 | }, | ||
137 | { | ||
138 | fields: [ 'remote' ], // Only index local videos | ||
139 | where: { | ||
140 | remote: false | ||
141 | } | ||
142 | }, | ||
143 | { | ||
116 | fields: [ 'uuid' ], | 144 | fields: [ 'uuid' ], |
117 | unique: true | 145 | unique: true |
118 | }, | 146 | }, |