我如何在 node.js 中为 table 定义索引 (adonis)
How i can define index for a table in node.js (adonis)
其实我有这个 table:
ClassBookHistoric
-----------------
Id (Primary Key),
Class_Id (Unique key, foreign key of table Class),
BookUnit_Id (Unique key, foreign key of table BookUnits)
Book_Id
Status
我需要这样查询来搜索数据:SELECT WHERE Class_Id = (parameter), Book_Id = (parameter) and Status = 1 (active)
我正在研究索引,我认为有必要使用我将用于搜索数据的列 (Class_Id, Book_Id and Status
) 创建索引以提高性能。有一种方法可以为一组列创建索引:(Class_Id, Book_Id, Status
)?如果可能的话,我如何在节点中创建一组索引。js/adonis?
Adonis.js 使用 knex.js
定义列类型和其他修饰符,如您在 docs 中所见。
因此,作为基于您的模式的示例(并非完全有效只是为了演示):
'use strict'
const Schema = use('Schema')
class ClassBookHistoric extends Schema {
up () {
this.create('class_books', (table) => {
table.increments()
table.integer('class_id').notNullable().unique()
table.integer('book_unit_Id').notNullable().unique()
table.index(['class_id','book_unit_Id'], 'class_book_index');
table.timestamps()
})
}
down () {
this.drop('class_books')
}
}
module.exports = UsersSchema
其实我有这个 table:
ClassBookHistoric
-----------------
Id (Primary Key),
Class_Id (Unique key, foreign key of table Class),
BookUnit_Id (Unique key, foreign key of table BookUnits)
Book_Id
Status
我需要这样查询来搜索数据:SELECT WHERE Class_Id = (parameter), Book_Id = (parameter) and Status = 1 (active)
我正在研究索引,我认为有必要使用我将用于搜索数据的列 (Class_Id, Book_Id and Status
) 创建索引以提高性能。有一种方法可以为一组列创建索引:(Class_Id, Book_Id, Status
)?如果可能的话,我如何在节点中创建一组索引。js/adonis?
Adonis.js 使用 knex.js
定义列类型和其他修饰符,如您在 docs 中所见。
因此,作为基于您的模式的示例(并非完全有效只是为了演示):
'use strict'
const Schema = use('Schema')
class ClassBookHistoric extends Schema {
up () {
this.create('class_books', (table) => {
table.increments()
table.integer('class_id').notNullable().unique()
table.integer('book_unit_Id').notNullable().unique()
table.index(['class_id','book_unit_Id'], 'class_book_index');
table.timestamps()
})
}
down () {
this.drop('class_books')
}
}
module.exports = UsersSchema