Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

395
Vistas
¿Cuál es el tamaño óptimo de un índice de prefijo para direcciones URL (MySQL)?

Estoy recopilando algunos millones de filas de datos que contienen URL. Para deduplicarlos, necesito buscar una URL existente antes de insertar una nueva fila. Por lo tanto, me gustaría crear un índice en esa columna.

¿Cuál es el mejor tamaño de prefijo, sabiendo que la mayoría de las URL comienzan con http:// o https:// ?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Para unos pocos millones de filas, esencialmente no hay posibilidad de que MD5(URL) tenga una colisión accidental. Son 32 dígitos hexadecimales ( CHAR(32) CHARACTER SET ascii ). O mejor sería UNHEX(...) y ponerlo en BINARY(16) .

Luego agregue un índice UNIQUE en esa columna.

Qué versión estás usando? Algunas versiones más nuevas de MariaDB tienen algo así incorporado.

over 4 years ago · Santiago Trujillo Denunciar

0

Hay dos formas de agregar índice en una cadena larga:

  1. agregue el índice para crc32 (urls), simplemente agregue una columna llamada crc32_urls y cree un índice en esto. Es posible que algunas URL tengan el mismo resultado por crc32 (urls), por lo que cada vez que busque debe ejecutarse así:
 SELECT * FROM table WHERE crc32_urls = xxx AND urls = xxx
  1. use el índice de prefijo. Para suponer cuánto debe ser la longitud del prefijo. Puede calcular
 SELECT COUNT(DISTINCT urls)/COUNT(*) FROM table

comparado con

 SELECT COUNT(DISTINCT left(urls, x))/COUNT(*) FROM table

la x es la longitud que especificó. Cuando dos números estén cerca, elija la longitud mínima.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda