Los vínculos entre varias tablas de la base de datos son todos relaciones de uno a muchos. ¿Es este tipo de vínculo el más eficiente?
1 La eficiencia irrazonable es muy baja y el uso de coincidencia de cadenas es completo. el escaneo de tablas requiere mucho tiempo.
2. Si se forman 2 millones de tablas grandes, la eficiencia de las consultas relacionadas será muy baja.
Sugiero tres opciones. Pruebe cuál es el más eficiente debido al diseño. La eficiencia de la declaración en sí no tiene nada que ver con eso, pero la forma en que se usa tiene mucho que ver con la cantidad de datos. Estrategias de optimización para decenas de miles y millones. son completamente diferentes
Sugerencia 1: en su primera solución, podemos hacer una pequeña mejora en la tabla C del diccionario de frutas, definir un número de identificación de una persona similar para cada fruta y luego. cambie el almacenamiento de la tabla B a una asociación de almacenamiento de estos dos ID y estos dos campos Hay índices y el almacenamiento de la tabla B es el mismo que el de la tabla. Ambos campos tienen índices. El ID de la persona de la tabla A es la clave principal y el único índice. La declaración es la siguiente:
seleccione * de la tabla A donde existe (seleccione * de la tabla B donde el ID de la fruta). en (1, 3, 4) y ID de personal = t.ID de personal)
Sugerencia 2: Cambie el espacio por eficiencia. En términos de eficiencia, la eficiencia de la unión debe ser mayor o en millones, por lo que como segunda sugerencia, similar a la estructura de la tabla de la Tabla A, cree una tabla para cada tipo de fruta y luego almacene a las personas a las que les gusta esta fruta. en En esta tabla, por ejemplo, tabla - manzana, tabla - sandía, se almacenan los ID y nombres de las personas a las que les gusta este tipo de fruta. Este método es para evitar consultas. La declaración es la siguiente:
unión
seleccione * de mesa-sandía
unión
seleccione * de mesa-plátano
......
Sugerencia 3: Utilice también Space para mejorar la eficiencia, pero utilice o Se estima que la eficiencia será la más baja en el nivel de millones, según. tabla A (que no almacena el campo de cadena de frutas) Expande 10 campos, enteros, correspondientes a 10 tipos de frutas. Cada campo almacena dos valores 0 y 1. Se crean índices en estos 10 campos. sigue:
selecciona * de la tabla A donde Apple=1 o Banana=1 o ......