Tabela Django com Milhões de Linhas

Eu tenho um projeto com 2 aplicativos (livros e leitor).

A aplicação Books possui uma tabela com 4 milhões de linhas com os seguintes campos:

 book_title = models.CharField(max_length=40)
 book_description = models.CharField(max_length=400)

Para evitar consultar o banco de dados com 4 milhões de linhas, estou pensando em dividi-lo por assunto (20 modelos com 20 tabelas com 200.000 linhas (book_horror, book_drammatic, ecc).

No aplicativo "reader", estou pensando em inserir estes campos:

reader_name = models.CharField(max_length=20, blank=True)
book_subject = models.IntegerField()
book_id = models.IntegerField()

Então, em vez de ForeignKey, estou pensando em usar um inteiro "book_subject" (que permite acessar a tabela apropriada) e "book_id" (que permite acessar o livro na tabela especificada em "book_subject").

É uma boa solução para evitar consultar uma tabela com 4 milhões de linhas?

Existe uma solução alternativa?

Obrigado ^ __ ^

questionAnswers(6)

yourAnswerToTheQuestion