Tengo un proyecto con 2 aplicaciones (libros y lector).Django Tabla con millones de filas
aplicaciónLibros tiene una mesa con 4 milions de filas con estas casillas:
book_title = models.CharField(max_length=40)
book_description = models.CharField(max_length=400)
Para evitar para consultar la base de datos con 4 milions de filas, estoy pensando que dividirlo por tema (20 modelos con 20 . tablas con 200.000 filas (book_horror, book_drammatic, ECC)
En "lector" de aplicaciones, pienso para insertar estas casillas:
reader_name = models.CharField(max_length=20, blank=True)
book_subject = models.IntegerField()
book_id = models.IntegerField()
así que en vez de Comercio exterior nKey, estoy pensando en usar un entero "book_subject" (que permite acceder a la tabla apropiada) y "book_id" (que permite acceder al libro en la tabla especificada en "book_subject").
¿Es una buena solución para evitar consultar una tabla con 4 millones de filas?
¿Existe una solución alternativa?
Gracias^__^
4 millones no es mucho, tiene un caso de optimización prematura. – Tobu
La tabla se consulta desde ajax usando un campo de autocompletar con este consulta en el views.py: books.objects.filter (book_title__istartswith = request.GET [ 'q']) [100] – xRobot
Si está consultando una tabla en un campo de texto y el rendimiento es el problema, puede optar por implementar la búsqueda de texto completo. Sin embargo, el tamaño de tu campo consultado es de solo 40 caracteres, y no estoy seguro de si representa un gran problema para la base de datos. – shanyu