Cómo optimizar el rendimiento de SQL
Cómo optimizar el rendimiento de SQL:
1. No escriba declaraciones SQL que sean demasiado complejas. Una declaración SQL debe ser lo más simple posible y no estar anidada en demasiados niveles.
2. Utilice "tabla temporal" para almacenar en caché los resultados intermedios. Un método importante para simplificar las declaraciones SQL es utilizar tablas temporales para almacenar en caché los resultados intermedios. Esto puede evitar escanear la tabla principal varias veces en el programa, lo que reduce en gran medida el bloqueo y mejora el rendimiento de la concurrencia.
3. Al usar like, debes prestar atención a si provocará un escaneo completo de la tabla. A veces necesitarás realizar algunas consultas difusas, como: select?id?from?table?where? nombre de usuario?como?'%hollis%' Palabra clave %%hollis%, porque hollis%, palabra clave %hollis%, palabra clave %hollis%, palabra clave %hollis%,
3. Preste atención a si provocará un escaneo completo de la tabla. hollis%, debido a que hay "%" delante de hollis, esta consulta utiliza un escaneo completo de la tabla, así que no coloque % delante de la palabra clave a menos que sea necesario.
4. ¡Intenta evitar su uso! = o <> operador. Cuando se usa = o <> en una declaración donde, el motor abandonará el uso del índice y realizará un escaneo completo de la tabla.
5. Intente evitar el uso de "o" para conectar condiciones; si usa "o" para conectar condiciones en la cláusula donde, el motor abandonará el índice y realizará un escaneo completo de la tabla. Puedes usar
select?id?from?t?where?num=10
union?all
select?id?from?t?where? num=20
o
select?id?from?t?where?num=10 o num=20
6. Intente evitar el uso en y. not in: si usa la cláusula in y not in, el motor dejará de usar el índice y realizará un escaneo completo de la tabla. Puedes usar
select?id?from?t?where?num?entre 10 y 20
o
select?id?from?t?where? ?num?in?(10,20)
7. Considere forzar que las consultas utilicen índices
select?id?from?
Select?* ?from ?table?force?index(PRI)?limit?2;(forzar clave primaria)
¿Seleccionar?*?from?table?force?index(hollis_index)?limit?2;(forzar índice " hollis_index ")
¿Seleccionar?*?from?table?force?index(PRI,hollis_index)?limit?(force index "PRI and hollis_index")
8. Intente evitar el uso expresiones, funciones y otras operaciones como condiciones de consulta intentan evitar operaciones de transacciones grandes para mejorar la concurrencia del sistema; Intente evitar el uso de cursores; no utilice "select?*?from?t" en ningún lugar, reemplace "*" con una lista de campos específicos y no devuelva ningún campo inutilizable.
9. Utilice "varchar/nvarchar" en lugar de "char/nchar" siempre que sea posible. Intente utilizar campos numéricos. Si el campo solo contiene información numérica, intente no diseñarlo como caracteres. Esto reducirá el rendimiento de las consultas y las conexiones y aumentará la sobrecarga de almacenamiento.
10. Cuantos más índices, mejor. Aunque los índices pueden mejorar la eficiencia de selección correspondiente, también reducirán la eficiencia de inserción y actualización. No todos los índices son efectivos para consultas SQL. en la tabla se utiliza para la optimización de consultas. Cuando hay una gran cantidad de datos duplicados en la columna de índice, es posible que la consulta SQL no utilice el índice. No utilizar el índice.