Quiero realizar el examen VF Nivel 2. Alguien puede ayudarme.
¿Te has apuntado a la clase de estudio? La clase tiene información interna. También solicité VF Nivel 2 y lo aprobé. Puedes consultarlo en Taobao. La siguiente es la información de puntuación de un paso que tomé del profesor.
1. ¿Cuál es la diferencia entre campos de notas y campos de caracteres?
Datos de carácter: Describe un tipo de datos de texto que no tiene capacidades informáticas. Los datos de caracteres constan de caracteres chinos, letras inglesas, caracteres numéricos, espacios y otros caracteres especiales, y el rango de longitud es de 0 a 254 caracteres. Debe estar entre comillas dobles ("") o comillas simples ('') cuando se utiliza. Un carácter chino equivale a dos caracteres.
Datos de notas: se utilizan para representar datos de caracteres más largos. No hay límite de longitud de datos para los datos de la nota, solo está limitado por el espacio en disco existente. Solo se utiliza para definir tipos de campos en la tabla de datos. La longitud del campo se fija en 4 caracteres. Los datos reales se almacenan en un archivo de notas (.fpt) con el mismo nombre que el archivo de la tabla de datos. contenido de los datos.
2. ¿Cuál es la diferencia entre información y datos?
La información es un reflejo de los atributos de las cosas objetivas y afecta el comportamiento objetivo humano.
Los datos son un registro que refleja los atributos de las cosas objetivas y son portadores de información. Como valores numéricos, texto, sonidos, gráficos, imágenes, etc., que son las manifestaciones específicas de la información.
3. ¿Cuál es la finalidad del tratamiento de datos?
El procesamiento de datos también se denomina procesamiento de información. El llamado procesamiento de datos en realidad significa usar computadoras para procesar varios tipos de datos. El procesamiento de datos incluye una serie de operaciones tales como recopilación, clasificación, almacenamiento, clasificación, clasificación, recuperación, mantenimiento, procesamiento, estadísticas y transmisión de datos.
El propósito del procesamiento de datos es obtener la información que las personas necesitan a partir de una gran cantidad de datos originales y extraer componentes de datos útiles como base para el comportamiento y la toma de decisiones.
4. ¿Qué es un modelo de datos?
El modelo de datos se refiere a la estructura y forma de organización de los datos que refleja cosas objetivas y las conexiones entre cosas objetivas.
5. ¿Cuáles son las principales características del modelo relacional?
Las características principales del modelo relacional:
(1) Cada elemento de datos en la relación es independiente y es la unidad de datos más básica.
(2; ) Cada columna vertical se denomina campo, los elementos de datos tienen los mismos atributos, el número de columnas se establece según sea necesario y el orden de las columnas es arbitrario (3) Cada fila horizontal se denomina registro, que se compone de; muchos atributos de una cosa y el orden de cada fila puede ser arbitrario (4) Una relación es una tabla bidimensional y no se permiten los mismos nombres de campo y las mismas filas de registros.
6. ¿Qué es una base de datos?
La llamada base de datos es una base de datos que organiza datos relacionados de una determinada manera y los almacena en la memoria externa de la computadora. Puede ser compartida por varios usuarios y es independiente del programa de aplicación. Una colección de datos relacionados.
7. ¿Qué es una base de datos relacional?
Base de Datos Relacional está compuesta por varias tablas bidimensionales. Una tabla bidimensional se llama relación o tabla de datos
8. ¿Cuáles son los componentes principales de un sistema de aplicación de base de datos?
Un sistema de aplicación de base de datos es un sistema compuesto por hardware, software, datos y personal que proporciona servicios de información a los usuarios.
9. ¿Cuál es la diferencia entre variables de memoria, variables de matriz y variables de campo?
Existen seis tipos de variables de memoria: numéricas, de punto flotante, de carácter, lógicas, de fecha y de fecha y hora. Se definen mediante sentencias de asignación. Por ejemplo: a="abcd"
Las variables de matriz se denominan matrices. Una matriz es una colección ordenada de variables. Cada variable almacena un dato y cada matriz almacena un conjunto de datos.
Cada matriz tiene un nombre, llamado nombre de matriz. Cada variable de la matriz se denomina elemento de la matriz. El nombre de cada elemento de la matriz consta del nombre de la matriz y un subíndice. El subíndice es la posición del elemento de la matriz en la matriz. Los arreglos se dividen en arreglos unidimensionales y arreglos bidimensionales, definidos mediante Dimension o Declare
Variables de campo: se refiere a cualquier campo definido en la tabla de datos. Los tipos de datos de las variables de campo incluyen tipo numérico, tipo de punto flotante, tipo de moneda, tipo de entero, tipo de doble precisión, tipo de carácter, tipo lógico, tipo de fecha, tipo de fecha y hora, tipo de nota y tipo general, etc.
10. ¿Cuál es la diferencia entre crear una tabla usando el Diseñador de tablas y usando el Asistente para tablas?
11. Hay varias formas de eliminar datos en la tabla. ¿Cuáles son las diferencias?
Eliminación lógica de registros en la tabla: Eliminar [lt; rango gt;] For [lt; expresión condicional gt;]
Eliminación física de registros en la tabla Pack Eliminación física de registros en la tabla Todos los registros eliminados lógicamente
Zap elimina físicamente todos los registros de la tabla
12. ¿Describe brevemente la composición de la tabla de datos?
Una tabla de datos consta de tres elementos: el nombre de la tabla de datos, la estructura de la tabla de datos y los registros de la tabla de datos.
13. ¿Qué es un índice?
El índice es una tecnología que ordena los registros de la tabla en un orden determinado. Es una lista compuesta por el número de serie del índice y el número de registro de la tabla.
14. ¿Cuántos tipos de índices existen?
1. Índice primario
El valor de la expresión del índice no se puede repetir. Los índices primarios solo se utilizan para tablas de bases de datos y solo se puede crear un índice primario para una tabla. No se pueden crear índices primarios para tablas libres.
2. Índice candidato
El valor de la expresión del índice no se puede repetir. Una tabla puede crear múltiples índices candidatos, y los índices candidatos se pueden usar para tablas de bases de datos y tablas libres
3. Índice regular
El valor de la expresión del índice se puede repetir y, en la tabla de índice, los registros con valores repetidos también se almacenan repetidamente.
4. Índice único
El valor de la expresión del índice se puede repetir, pero solo el primero se almacena en la tabla de índice.
15. ¿Por qué deberíamos crear un índice?
El índice es para
ordenado y el orden se puede consultar rápidamente.
16. ¿Cómo utilizar el índice?
Ordenar por campo de índice, expresión de índice
ESTABLECER ORDEN A [TAGlt; nombre de identificación de índice gt;]
17. Ordenar datos en el entorno operativo de la base de datos. Cuáles son los beneficios de las operaciones de mesa?
Solo almacenando tablas relacionadas en la misma base de datos y determinando sus relaciones se pueden utilizar más plenamente los datos de las tablas.
18. Existen varias relaciones entre las tablas de datos de la base de datos. ¿Cuál es la base para establecer estas relaciones?
Uno a uno
Uno a muchos a uno a uno; para establecer asociaciones entre tablas en archivos de bases de datos, primero, las tablas a asociar tienen campos con los mismos atributos; en segundo lugar, cada tabla. Este campo debe usarse para crear un índice.
Una vista es una "tabla" derivada de una o más tablas de datos.
Las consultas pueden extraer datos útiles de una o varias tablas. La consulta se puede utilizar para realizar operaciones como navegación, filtrado, clasificación, recuperación, estadísticas y procesamiento de datos en la base de datos; la consulta se puede utilizar para proporcionar nuevas tablas de datos para otras bases de datos.
19. ¿Diferencia entre una vista y una consulta? ¿Cuáles son las características de cada uno?
Utilice vistas para actualizar datos en la tabla de datos.
Debido a que la vista puede limitar el rango de uso de los datos en la tabla de datos, también limita los datos actualizables y otros datos en la tabla de datos no se destruirán, lo que puede mejorar la seguridad del mantenimiento de los datos.
Usar consultas es lo mismo que usar vistas, lo cual es más conveniente, rápido y seguro que usar tablas de datos y bases de datos.
En comparación con las consultas, las vistas tienen una función de actualización más que las consultas, pero los formatos de salida de las consultas son diversos.
20. ¿Qué es la gestión de proyectos? ¿Cuáles son los beneficios de usarlo?
El gestor de proyectos es una herramienta que organiza eficazmente los archivos del sistema de aplicación de base de datos según un determinado orden y relación lógica. Utilice el administrador de proyectos para administrar tablas de datos y bases de datos de la forma visual más sencilla. Al desarrollar aplicaciones, puede organizar eficazmente tablas de datos, formularios, bases de datos, menús, clases, programas y otros archivos y compilarlos en un archivo .APP o .EXE. que se puede ejecutar de forma independiente.
21. ¿Qué es una clase? ¿Qué es un objeto?
La llamada clase (Class) es una colección y abstracción de objetos con los mismos atributos y características de comportamiento.
Objeto es una descripción que refleja los atributos y características de comportamiento de las cosas objetivas. Cada objeto tiene atributos que describen sus características (representadas por datos) y comportamientos asociados (implementados por código, llamados "métodos" del objeto)
22.
Una clase es una abstracción de un objeto y un objeto es una instancia de una clase. No se puede hacer referencia directa a las clases. La clase debe definirse como un objeto antes de poder usarse y la clase debe convertirse en un objeto.
23. ¿Cuál es la diferencia entre eventos y métodos? ¿Cuáles son las características de cada uno?
Eventos de uso común: hacer clic, presionar el mouse, activar, temporizador
Métodos de uso común: setfocus, actualizar (actualizar), soltar (liberar), mover (mover), restablecer (restablecer) , mostrar (mostrar)
24. Existen varios métodos de diseño de formularios. ¿Cuáles son las características de cada uno?
Utilice el modo de menú, el modo de comando y el asistente de formularios para crear formularios. Además de utilizar el diseñador de formularios para crear nuevos formularios, también puede utilizar el asistente de formularios para crear nuevos formularios. Sólo se pueden crear formularios de datos.
¿Describir brevemente las funciones de los controles "Cuadro de texto" y "Etiqueta"?
El control "Cuadro de texto" se utiliza principalmente para la entrada y salida de valores de campos generales y que no son notas en la tabla, así como para operaciones como la asignación y salida de variables de memoria
Control de etiqueta
El control "etiqueta" puede mostrar información de texto en el formulario en un formato determinado y se utiliza para mostrar varias instrucciones e información solicitada en el formulario. Una vez definidas las propiedades, eventos y métodos del control "etiqueta", la información de salida se generará de acuerdo con el formato especificado por estas definiciones.
25. Describe brevemente las principales diferencias entre los controles "cuadro de texto" y "etiqueta".
La principal diferencia entre el control "cuadro de texto" y el control "etiqueta" es que la fuente de datos (controlsource) que utilizan es diferente.
La fuente de datos del control "etiqueta" proviene de su propiedad "Caption", y la fuente de datos del control "cuadro de texto" proviene de su propiedad "Fuente de control", que puede no ser nota tipo o tipo general en los campos de la tabla y variables de memoria.
Las propiedades del control "Cuadro de texto" incluyen principalmente: el tamaño del "Cuadro de texto", el tamaño, estilo y color de la fuente para la información de entrada y salida en el "Cuadro de texto", etc. .
26. ¿Cómo definir las propiedades de los controles de formulario? ¿Cuántos métodos hay?
Propiedades de formularios de uso común: autocentro, color de fondo, título, altura, botón máximo, ancho, imagen
Use la ventana de propiedades para establecer las propiedades del objeto, use la ventana de código para editar el evento proceso y utilice la barra de herramientas de diseño para organizar los controles.
27 ¿Cuál es el registro actual? ¿Qué papel juega en las operaciones de mesa?
El registro de la operación actual se llama registro actual. Dentro del sistema, hay un puntero de registro que siempre apunta al registro actual.
Cuando se abre la tabla, el. El registro actual es el primer registro. Es decir, el puntero del registro apunta al primer registro. Una vez que se abre el archivo de la tabla, el puntero del registro en la tabla se puede mover. La posición del registro en la tabla de datos significa mover el puntero del registro. En esencia, es para determinar qué registro es el registro actual.
28. ¿Cuál es la diferencia entre eliminar registros lógicamente y eliminar registros físicamente?
La eliminación lógica consiste en añadir una marca de eliminación a los registros que no se utilizan temporalmente. Además, los registros que deben eliminarse por completo deben eliminarse lógicamente primero y luego eliminarse físicamente.
La eliminación física consiste en eliminar completamente los registros no válidos del disco. Si desea eliminar por completo algunos datos no válidos en la tabla, primero debe realizar una eliminación lógica y luego una eliminación física. Si desea eliminar por completo todos los datos no válidos en la tabla, también puede realizar una eliminación física directamente.
29. ¿Cuál es la estructura básica de los programas procesales?
Visual FoxPro no solo admite la tecnología de programación procedimental tradicional, sino que también admite la tecnología de programación orientada a objetos y ha realizado poderosas expansiones en los lenguajes de programación.
Al diseñar un programa con programación procedimental, se debe considerar todo el flujo del código del programa, mientras que al diseñar un programa con programación orientada a objetos, se debe considerar cómo crear objetos y qué tipo de objetos son. creado.
La programación orientada a objetos es una revolución en el pensamiento de programación procedimental. Introduce muchos conceptos nuevos y propone lenguajes de programación orientados a objetos que son más avanzados que los lenguajes de programación procedimentales. más fácil el desarrollo de aplicaciones. Los procedimientos se vuelven más sencillos, consumen menos tiempo y son más eficientes.
Aplicación MySQL
En comparación con otras bases de datos grandes como Oracle, DB2, SQL Server, etc., MySQL tiene sus propias deficiencias, como su pequeña escala y funciones limitadas (la funcionalidad de MySQL Cluster y la eficiencia son relativamente pobres), etc., pero esto no reduce su popularidad en absoluto. Para los usuarios individuales en general y las pequeñas y medianas empresas, las funciones proporcionadas por MySQL son más que suficientes y, debido a que MySQL es un software de código abierto, puede reducir en gran medida el costo total de propiedad.
El método de arquitectura de sitios web actualmente popular en Internet es LAMP (Linux Apache MySQL PHP), que utiliza Linux como sistema operativo, Apache como servidor web, MySQL como base de datos y PHP como servidor. Intérprete de guión lateral. Dado que estos cuatro programas son software de código abierto que siguen la GPL, puedes crear un sistema de sitio web estable y gratuito sin gastar un centavo usando este método.
Administración de MySQL
Puedes usar herramientas de línea de comandos para administrar bases de datos MySQL (comandos mysql y mysqladmin), o puedes descargar las herramientas de administración gráfica MySQL Administrator y MySQL Query Browser desde MySQL. sitio web.
phpMyAdmin es un programa de administración del sistema de bases de datos MySQL escrito en PHP, que permite a los administradores administrar bases de datos MySQL mediante una interfaz web.
phpMyBackupPro también está escrito en PHP y puede crear y administrar bases de datos a través de una interfaz web.
Puede crear pseudo-cronjobs, que se pueden utilizar para realizar una copia de seguridad automática de la base de datos MySQL en un momento o período determinado.
Además, existen otras herramientas de administración de GUI, como el anterior mysql-front y ems mysql manager, navicat, etc.
Motor de almacenamiento MySQL
MyISAM Base de datos predeterminada de Mysql, la más utilizada. Tiene alta velocidad de inserción y consulta, pero no admite transacciones
InnoDB es el motor preferido para bases de datos transaccionales, admite transacciones ACID y bloqueo a nivel de filas
BDB se deriva de Berkeley DB , transacciones Otra opción para bases de datos, admite otras características de transacciones como COMMIT y ROLLBACK
La memoria es un motor de almacenamiento que coloca todos los datos en la memoria y tiene una eficiencia de inserción, actualización y consulta extremadamente alta. Pero ocupará espacio de memoria proporcional a la cantidad de datos. Y su contenido se perderá cuando se reinicie Mysql
Fusionar combina una cierta cantidad de tablas MyISAM en un todo, lo cual es muy útil para el almacenamiento de datos a gran escala
El archivo es muy Adecuado para almacenar grandes cantidades de datos independientes, como datos de registros históricos. Porque no se leen con frecuencia. Archive tiene una velocidad de inserción eficiente, pero su soporte para consultas es relativamente pobre.
Federated combina diferentes servidores MySQL para formar lógicamente una base de datos completa. Muy adecuado para aplicaciones distribuidas
Cluster/NDB es un motor de almacenamiento altamente redundante que utiliza múltiples máquinas de datos para proporcionar servicios conjuntos para mejorar el rendimiento y la seguridad generales. Adecuado para aplicaciones con grandes cantidades de datos y altos requisitos de seguridad y rendimiento
CSV es un motor de almacenamiento que separa lógicamente los datos por comas
Motor Black Hole, cualquier dato escrito desaparecerá, generalmente se usa Record binlog como retransmisión para la replicación.
Además, la interfaz del motor de almacenamiento de Mysql está bien definida. Los desarrolladores interesados pueden escribir sus propios motores de almacenamiento leyendo la documentación.
La arquitectura de aplicación más común de Mysql
Única, adecuada para aplicaciones de pequeña escala
Replicación, adecuada para aplicaciones de pequeña y mediana escala
Clúster, adecuado para aplicaciones a gran escala
Versiones históricas de mysql
Actualmente MySQL está desarrollando dos versiones del software al mismo tiempo, la versión 4.1 y la versión 5.0. Se ha publicado el código de la versión 4.1 y se espera que el código final se publique en 8 meses. El producto final de la versión 5.0 se lanzará en 6 meses.
MySQL 4.1 agrega muchas características nuevas, incluido el almacenamiento en caché de claves primarias de mayor velocidad, mejor soporte para subconsultas y, como lo solicitan los sitios de citas en línea, consulta de información basada en geografía.
La versión 5.0 desarrollada simultáneamente está dirigida a usuarios empresariales. Para todas las características nuevas de la versión 4.1, la versión 5.0 tiene todas las características nuevas y tiene las siguientes características únicas: buen soporte para claves externas; Mecanismo automático de informe de errores y soporte completo para procedimientos almacenados.
Video de enseñanza de chino MySQL
Video de enseñanza de desarrollo de base de datos de red mysql de Zuo Guanghua/lista de reproducción/mysql/
La versión alfa de Mysql6.0 se lanzó a principios de 2007. La nueva versión agrega soporte para el motor de almacenamiento Falcon. Falcon es un motor desarrollado independientemente por la comunidad Mysql. Admite transacciones ACID, bloqueos de filas y concurrencia de alto rendimiento. Mysql AB quiere utilizar Falcon para sustituir el ya muy popular motor InnoDB porque InnoBase, propietaria de esta última tecnología, ha sido adquirida por su competidor Oracle.
El 16 de enero de 2008, Sun Microsystems anunció la adquisición de MySQL AB, ofreciendo aproximadamente mil millones de dólares en efectivo, incluidas opciones. /news-and-events/sun-to-acquire-mysql.html
Comandos básicos de MySQL
El contenido en [ ] es opcional
- -Crear base de datos
mysqlgt; crear base de datos nombre de base de datos
--Crear tabla
mysqlgt; crear tabla nombre de tabla (
nombre de columna (id ) escriba (int (4)) clave primaria (definir clave primaria) auto_increment (incremento automático de descripción),
...,
); --Ver todas las bases de datos
mysqlgt; mostrar el nombre de la base de datos;
--Usar una base de datos
usar el nombre de la base de datos;
--Ver todas las tablas bajo la base de datos que se está utilizando
mysqlgt; mostrar tablas;
--Muestra la estructura de atributos de la tabla
mysqlgt; nombre de la tabla;
--Seleccione la visualización de datos en la tabla
--* significa seleccionar todas las columnas,
mysqlgt seleccione * del nombre de la tabla donde id=? [y nombre=? ] [o nombre=?];
mysqlgt; seleccionar id, nombre del nombre de la tabla ordenar por nombre de una columna desc (orden descendente, asc es orden ascendente)
--Eliminar los datos de la tabla
mysqlgt; eliminar de la tabla donde id=? [o nombre=? (y nombre=?)];
--eliminar tabla
mysqlgt; eliminar tabla;
--eliminar base de datos
mysqlgt; soltar base de datos;
Los índices son archivos especiales (los índices de la tabla de datos de InnoDB son una parte integral del espacio de tablas). .
Nota: [1] ¡Los índices no son omnipotentes! Los índices pueden acelerar las operaciones de recuperación de datos pero hacer que las operaciones de modificación de datos sean más lentas. Cada vez que se modifica un registro de datos, se debe actualizar el índice. Para compensar esta deficiencia en un determinado programa, muchos comandos SQL tienen un elemento DELAY_KEY_WRITE. La función de esta opción es evitar temporalmente que MySQL actualice el índice inmediatamente después de que se inserte cada nuevo registro y se modifique uno existente con este comando. La actualización del índice esperará hasta que se hayan insertado/modificado todos los registros. En situaciones en las que es necesario insertar muchos registros nuevos en una tabla de datos, la función de la opción DELAY_KEY_WRITE será muy obvia. [2] Además, los índices ocupan un espacio considerable en el disco duro. Por lo tanto, sólo se deben indexar las columnas de datos más consultadas y clasificadas con mayor frecuencia. Tenga en cuenta que si una columna de datos contiene mucho contenido duplicado, indexarla no tendrá mucho efecto práctico.
Teóricamente, es posible construir un índice para cada campo en la tabla de datos, pero MySQL limita el número total de índices en la misma tabla de datos a 16.
1. Índices de las tablas de datos de InnoDB
En comparación con las tablas de datos de MyISAM, los índices son mucho más importantes para los datos de InnoDB. En las tablas de datos de InnoDB, los índices son mucho más importantes que las tablas de datos de InnoDB.
En las tablas de datos de InnoDB, los índices no solo desempeñan un papel en la búsqueda de registros de datos, sino que también son la base del mecanismo de bloqueo a nivel de fila de datos. "Bloqueo a nivel de fila de datos" significa bloquear registros individuales que se procesan durante la ejecución de operaciones de transacción, evitando que otros usuarios accedan a ellos. Este bloqueo afectará (pero no se limitará a) los comandos SELECCIONAR...BLOQUEAR EN MODO COMPARTIR, SELECCIONAR...PARA ACTUALIZAR y los comandos INSERTAR, ACTUALIZAR y ELIMINAR.
Por razones de eficiencia, el bloqueo a nivel de fila de las tablas de datos InnoDB en realidad ocurre en sus índices, no en la tabla de datos en sí. Obviamente, el mecanismo de bloqueo a nivel de fila de datos solo puede ser efectivo cuando la tabla de datos relevante tiene un índice adecuado para bloquear.
2. Restricciones
Si hay un signo de desigualdad (WHERE coloum!=...) en la condición de consulta de la cláusula WEHERE, MySQL no podrá utilizar el índice. .
De manera similar, si la función (WHERE DAY(column) = ...) se usa en la condición de consulta de la cláusula WHERE, MySQL no podrá usar el índice.
En una operación JOIN (cuando es necesario extraer datos de varias tablas de datos), MySQL solo puede usar índices cuando los tipos de datos de la clave primaria y la clave externa son los mismos.
Si los operadores de comparación LIKE y REGEXP se usan en las condiciones de consulta de la cláusula WHERE, MySQL puede usar el índice solo si el primer carácter de la plantilla de búsqueda no es un carácter comodín. Por ejemplo, si la condición de consulta es COMO 'abc', MySQL usará el índice; si la condición de consulta es COMO 'abc', MySQL no usará el índice.
En la operación ORDER BY, MySQL solo usa el índice cuando la condición de clasificación no es una expresión de condición de consulta. (Sin embargo, en consultas que involucran varias tablas de datos, incluso si hay índices disponibles, esos índices no tienen ningún efecto en acelerar ORDER BY)
Si una columna de datos contiene muchos valores duplicados, se considera que no lo hará. Funciona bien si está indexado. Por ejemplo, si una columna de datos contiene solo valores como "0/1" o "Y/N", no es necesario crear un índice para ella.
Índice ordinario, índice único e índice primario
1. Índice ordinario
La única tarea del índice ordinario (índice definido por la palabra clave KEY o INDEX) es Acelerar el acceso a los datos. Por lo tanto, solo se deben crear índices para aquellas columnas de datos que aparecen con mayor frecuencia en las condiciones de consulta (DONDE columna =...) o en las condiciones de clasificación (columna ORDER BY). Siempre que sea posible, debe elegir una columna de datos con los datos más ordenados y compactos (como una columna de datos de tipo entero) para crear un índice.
2. Índice único
El índice ordinario permite que la columna de datos indexados contenga valores duplicados. Por ejemplo, debido a que las personas pueden tener el mismo nombre, el mismo nombre puede aparecer dos o más veces en la misma tabla de datos del "Perfil del empleado".
Si puede estar seguro de que una determinada columna de datos solo contendrá valores diferentes entre sí, debe utilizar la palabra clave UNIQUE para definirla como un índice único al crear un índice para estos datos. columna. Los beneficios de esto son: primero, simplifica la administración de este índice por parte de MySQL y el índice se vuelve más eficiente; segundo, MySQL verificará automáticamente el valor de este campo en el nuevo registro cuando se inserte un nuevo registro en la tabla de datos. este campo ya apareció en un registro; de ser así, MySQL se negará a insertar el nuevo registro. En otras palabras, un índice único puede garantizar la unicidad de los registros de datos. De hecho, en muchas ocasiones, el propósito de crear índices únicos no es aumentar la velocidad de acceso, sino simplemente evitar la duplicación de datos.
3. Índice primario
Se ha enfatizado muchas veces antes: se debe crear un índice para el campo de clave principal. Este índice es el llamado "índice primario". La única diferencia entre un índice primario y un índice único es que la palabra clave utilizada en el primero es PRIMARIA en lugar de ÚNICA.
4. Índice de clave externa
Si se define una restricción de clave externa para un campo de clave externa, MySQL definirá un índice interno para ayudarse a sí mismo de la manera más eficiente a administrar y utilizar. restricciones de clave externa.
5. Índice compuesto
Un índice puede cubrir múltiples columnas de datos, como un índice ÍNDICE (columnaA, columnaB). La característica de este índice es que MySQL puede utilizar dicho índice de forma selectiva. Si la operación de consulta solo necesita usar un índice en la columna de datos de la columna A, puede usar el índice compuesto ÍNDICE (columna A, columna B). Sin embargo, este uso solo se aplica a la combinación de columnas de datos que ocupan el primer lugar en el índice compuesto. Por ejemplo, INDEX(A, B, C) se puede utilizar como índice de A o (A, B), pero no se puede utilizar como índice de B, C o (B, C).
6. Longitud del índice
Al definir índices para columnas de datos de tipo CHAR y VARCHAR, puede limitar la longitud del índice a un número determinado de caracteres (este número debe ser menor que el número máximo de caracteres permitidos para este campo). La ventaja de esto es que puede generar un archivo de índice de menor tamaño y más rápido en velocidad de recuperación. En la mayoría de las aplicaciones, los datos de cadena en la base de datos se basan principalmente en varios nombres. Configurar la longitud del índice entre 10 y 15 caracteres es suficiente para limitar el alcance de la búsqueda a unos pocos registros de datos.
Al crear índices para columnas de datos de tipo BLOB y TEXT, se deben imponer restricciones en la longitud del índice. El índice máximo permitido por MySQL es jlkjljkjlj índice de texto completo
General en; campos de texto El índice solo puede acelerar la operación de búsqueda de la cadena que aparece al frente del contenido del campo (es decir, los caracteres al comienzo del contenido del campo). Si el campo almacena un fragmento de texto más grande compuesto por varias o incluso varias palabras, los índices ordinarios serán de poca utilidad. Este tipo de recuperación a menudo aparece en forma de palabra LIKE, lo cual es muy complicado para MySQL. Si la cantidad de datos que deben procesarse es grande, el tiempo de respuesta será muy largo.
Este tipo de situación es donde el índice de texto completo (índice de texto completo) puede mostrar sus talentos. Al generar este tipo de índice, MySQL creará una lista de todas las palabras que aparecen en el texto y las operaciones de consulta recuperarán registros de datos relevantes basados en esta lista. El índice de texto completo se puede crear junto con la tabla de datos, o se puede agregar más tarde cuando sea necesario usando el siguiente comando:
ALTER TABLE nombretabla ADD FULLTEXT(columna1, columna2)
Sí Con un índice de texto completo, puede utilizar el comando de consulta SELECT para recuperar registros de datos que contengan una o más palabras determinadas. La siguiente es la sintaxis básica de este tipo de comando de consulta:
SELECT * FROM tablename
WHERE MATCH(columna1, columna2) CONTRA('palabra1', 'palabra2', 'palabra3 ')
El comando anterior consultará todos los registros de datos que contengan palabra1, palabra2 y palabra3 en los campos columna1 y columna2.
Nota: Las tablas de datos de InnoDB no admiten la indexación de texto completo.
Optimización de consultas e índices
Solo cuando haya suficientes datos de prueba en la base de datos, los resultados de las pruebas de rendimiento tendrán un valor de referencia real.
Si solo hay unos pocos cientos de registros de datos en la base de datos de prueba, a menudo se cargan todos en la memoria después de ejecutar el primer comando de consulta, lo que hará que los comandos de consulta posteriores se ejecuten muy rápidamente, independientemente de si se utilizan índices o no. Los resultados de la prueba de rendimiento de la base de datos son significativos solo cuando la cantidad de registros en la base de datos excede 1000 y la cantidad total de datos excede la memoria total en el servidor MySQL.
Cuando las personas no están seguras de qué columnas de datos deben usarse para crear índices, a menudo pueden obtener ayuda del comando EXPLAIN SELECT. En realidad, esto es simplemente anteponer un comando SELECT normal con la palabra clave EXPLAIN. Con esta palabra clave, MySQL no ejecutará el comando SELECT, sino que lo analizará. MySQL enumerará información como el proceso de ejecución de la consulta y los índices utilizados (si los hay) en forma de tabla.
En la salida del comando EXPLAIN, la columna 1 es el nombre de la tabla de datos leída de la base de datos y están ordenados en el orden en que se leen. La columna de tipo especifica la relación (JOIN) entre esta tabla de datos y otras tablas de datos. Entre varios tipos de relaciones, la más eficiente es system, seguida de const, eq_ref, ref, range, index y All (Todo significa: correspondiente a cada registro en la tabla de datos de nivel superior, estos datos Todos los registros de la tabla deben leerse (esto a menudo se puede evitar con un índice).
La columna de datos posibles_keys proporciona los distintos índices que MySQL puede utilizar al buscar registros de datos. La columna de datos clave es el índice realmente seleccionado por MySQL. La longitud de este índice en bytes se proporciona en la columna de datos key_len. Por ejemplo, para un índice en una columna de datos INTEGER, la longitud del byte sería 4. Si se utiliza un índice compuesto, también puede ver qué partes utiliza MySQL en la columna de datos key_len. Como regla general, cuanto menor sea el valor en la columna de datos key_len, mejor (es decir, más rápido).
La columna de datos de referencia proporciona el nombre de la columna de datos en otra tabla de datos de la relación. La columna de datos de fila es el número de filas de datos que MySQL espera leer de esta tabla de datos al ejecutar esta consulta. El producto de todos los números en la columna de la fila nos da una idea de cuántas combinaciones necesita procesar la consulta.
Finalmente, la columna de datos adicionales proporciona más información relacionada con la operación JOIN. Por ejemplo, si MySQL debe crear una tabla de datos temporal al ejecutar esta consulta, verá las palabras usando temporal en la columna adicional.