Convertir al índice de causa de caracter en la columna VARCHAR no funciona -- mysql campo con database-performance camp Relacionados El problema

CONVERT to CHAR cause index on VARCHAR column doesn't work


2
vote

problema

Español
  export_format3  

columna a es un tipo varchar, y ya he creado un índice en él. El primero usa el índice pero el segundo no. ¿Alguna pista en esto?

Sospecho que tal vez MySQL toma char y varchar como dos tipos diferentes, por lo que cambié la columna A a Char, y el índice tampoco funciona.

Original en ingles
SELECT * FROM table1 WHERE a = '1'; SELECT * FROM table1 WHERE a = CONVERT(1, CHAR); 

Column a is VARCHAR type, and I have already created an index on it. The first one uses index but the second one doesn't. Any Clue on this?

I suspect that maybe MySQL takes CHAR and VARCHAR as two different types, so I changed column a to CHAR, and the index doesn't work either.

     
         
         

Lista de respuestas

0
 
vote
vote
La mejor respuesta
 

Suena como un o 99887776612 problema. Por favor, proporcione:

  GETUTCDATE()3  

Probablemente la respuesta implica cambiar el GETUTCDATE()4 :

  GETUTCDATE()5  

¿Qué es la consulta real ? Puede haber algún otro enfoque que sea mejor para su situación. Usando GETUTCDATE()6 es un kludge; Vamos a la necesidad de ello.

para ver la (s) conversión (s), hacer

  GETUTCDATE()7  
 

Sounds like a CHARACTER SET or COLLATION problem. Please provide:

SHOW VARIABLES LIKE 'char%'; how you are connecting to the database SHOW CREATE TABLE table1; 

Probably the answer involves changing the CONVERT:

CONVERT(1, CHAR  charset utf8) 

What is the real query; there may be some other approach that is better for your situation. Using CONVERT is a kludge; let's go to the need for it.

To see the conversion(s), do

EXPLAIN FORMAT=JSON SELECT ... 
 
 

Relacionados problema

3  La cláusula de recopilación no se puede usar en expresiones que contienen una cláusula de recopilación  ( Collate clause cannot be used on expressions containing a collate clause ) 
Tengo dos tablas: TAB1 y TAB2. Cada tabla tiene solo una columna VARCHAR (MAX). Necesito obtener solo esos pares de valores, que son iguales, pero difiere s...

0  Consulta MySQL con o condición  ( Mysql query with or condition ) 
Tengo una tabla con 2 campos indexados únicos llamados "nombre de usuario" y "correo electrónico". Cuando he disparado una consulta en esta tabla o condición ...

4  Enfoque óptimo para obtener una gran actualización a granel a los conjuntos de bits indexados  ( Optimal approach for large bulk updates to indexed bit sets ) 
El entorno para esta pregunta es PostgreSQL 9.6.5 en AWS RDS. La pregunta es sobre una estrategia óptima de diseño de esquemas y actualización por lotes par...

3  ¿Pueden las letras de la tienda entera larga?  ( Can long integer store letters ) 
He corrido la función de "analizar el rendimiento" en el acceso y tenía una "idea" para mejorar el rendimiento; Acceso dijo que debería convertir los elemento...

0  Creación de un índice en una columna para ejecutar consultas para valores nulos  ( Creating an index on a column to run queries for null values ) 
Estamos usando SQL Server 2008. Tenemos tabla con un par de filas de un par de filas. Tenemos una columna que es anulada, pero muy pocas filas tendrán esta co...

317  ¿Qué tan grande puede obtener una base de datos MySQL antes de que se inicie el rendimiento para degradarse?  ( How big can a mysql database get before performance starts to degrade ) 
¿En qué punto comienza a perder una base de datos MySQL? significa el tamaño de la base de datos física? ¿Cuántos registros importan? ¿Alguna degradaci...

2  La columna duplicada en la consulta seleccionada le da una ejecución de consulta más rápida  ( Duplicate column in select query gives faster query execution ) 
Obtención de un comportamiento extraño de MySQL 5.6. Se supone que la siguiente consulta selecciona algunos datos simples de una unión. Que funciona bien a...

0  ¿Acelerando el rendimiento de inserción MySQL?  ( Accelerating mysql insert performance ) 
Es la necesidad de insertar más de 10 millones de registros en tiempo mínimo en una tabla indexada. Estos registros de 10 millones son el resultado de un curs...

1  La consulta se ejecuta más rápido en SQL Server que a través de ADO.NET comando que se envía  ( Query runs faster in sql server than via ado net command being sent ) 
Así que tengo lo siguiente en mi método de crud en mi DL que le devuelve un blob de fotos: @each3 para que aumente aproximadamente 10 segundos más lento...

0  Conjuntos de grupos de rústica y réplica de MongoDB conjuntos compartidos  ( Mongodb sharded cluster and replica sets sharing servers ) 
Estoy tratando de definir la arquitectura para un servidor MongoDB de producción de producción, veo en la documentación que cada fragmento tiene que contener ...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos