aboutsummaryrefslogtreecommitdiffhomepage
path: root/server
diff options
context:
space:
mode:
authorChocobozzz <me@florianbigard.com>2021-03-03 11:24:16 +0100
committerChocobozzz <me@florianbigard.com>2021-03-03 11:24:16 +0100
commit534556052ed4aab539325dccaa16c6dd2acecf73 (patch)
tree19e6c0a0729196e13eeab66398b6963e424b0181 /server
parent6c9c3b7b14411a854c8dcf8583d56b314e45a4ce (diff)
downloadPeerTube-534556052ed4aab539325dccaa16c6dd2acecf73.tar.gz
PeerTube-534556052ed4aab539325dccaa16c6dd2acecf73.tar.zst
PeerTube-534556052ed4aab539325dccaa16c6dd2acecf73.zip
Optimize views sort sql query
Diffstat (limited to 'server')
-rw-r--r--server/initializers/constants.ts2
-rw-r--r--server/initializers/migrations/0610-views-index.ts20
-rw-r--r--server/models/video/video.ts7
3 files changed, 27 insertions, 2 deletions
diff --git a/server/initializers/constants.ts b/server/initializers/constants.ts
index 6aaef3aa2..1623e6f42 100644
--- a/server/initializers/constants.ts
+++ b/server/initializers/constants.ts
@@ -24,7 +24,7 @@ import { CONFIG, registerConfigChangedHandler } from './config'
24 24
25// --------------------------------------------------------------------------- 25// ---------------------------------------------------------------------------
26 26
27const LAST_MIGRATION_VERSION = 605 27const LAST_MIGRATION_VERSION = 610
28 28
29// --------------------------------------------------------------------------- 29// ---------------------------------------------------------------------------
30 30
diff --git a/server/initializers/migrations/0610-views-index.ts b/server/initializers/migrations/0610-views-index.ts
new file mode 100644
index 000000000..02ee21172
--- /dev/null
+++ b/server/initializers/migrations/0610-views-index.ts
@@ -0,0 +1,20 @@
1import * as Sequelize from 'sequelize'
2
3async function up (utils: {
4 transaction: Sequelize.Transaction
5 queryInterface: Sequelize.QueryInterface
6 sequelize: Sequelize.Sequelize
7 db: any
8}): Promise<void> {
9
10 await utils.sequelize.query('DROP INDEX IF EXISTS video_views;')
11}
12
13function down (options) {
14 throw new Error('Not implemented.')
15}
16
17export {
18 up,
19 down
20}
diff --git a/server/models/video/video.ts b/server/models/video/video.ts
index b4c7da655..b3543ddf2 100644
--- a/server/models/video/video.ts
+++ b/server/models/video/video.ts
@@ -426,7 +426,12 @@ export type AvailableForListIDsOptions = {
426 ] 426 ]
427 }, 427 },
428 { fields: [ 'duration' ] }, 428 { fields: [ 'duration' ] },
429 { fields: [ 'views' ] }, 429 {
430 fields: [
431 { name: 'views', order: 'DESC' },
432 { name: 'id', order: 'ASC' }
433 ]
434 },
430 { fields: [ 'channelId' ] }, 435 { fields: [ 'channelId' ] },
431 { 436 {
432 fields: [ 'originallyPublishedAt' ], 437 fields: [ 'originallyPublishedAt' ],