Aquí hay algunos consejos de alguien con un entorno donde tenemos carpetas que contienen decenas de millones de archivos.
- Una carpeta almacena la información de índice (enlaces a archivos secundarios y carpeta secundaria) en un archivo de índice. Este archivo se hará muy grande cuando tengas muchos hijos. Tenga en cuenta que no distingue entre un elemento secundario que es una carpeta y un elemento secundario que es un archivo. La única diferencia es que el contenido de ese niño es el índice de la carpeta del niño o los datos del archivo del niño. Nota: Estoy simplificando esto un poco, pero esto hace que se entienda.
- El archivo de índice se fragmentará. Cuando se fragmente demasiado, no podrá agregar archivos a esa carpeta. Esto se debe a que hay un límite en el número de fragmentos permitido. Es por diseño. Lo he confirmado con Microsoft en una llamada de incidente de soporte. Entonces, aunque el límite teórico para la cantidad de archivos que puede tener en una carpeta es de varios miles de millones, buena suerte cuando comience a golpear decenas de millones de archivos, ya que primero alcanzará la limitación de fragmentación.
- Sin embargo, no todo es malo. Puede usar la herramienta: contig.exe para desfragmentar este índice. No reducirá el tamaño del índice (que puede alcanzar hasta varios Gigs para decenas de millones de archivos), pero puede reducir el número de fragmentos. Nota: La herramienta de Desfragmentación de disco NO desfragmentará el índice de la carpeta. Desfragmentará los datos del archivo. Solo la herramienta contig.exe desfragmentará el índice. FYI: También puede usar eso para desfragmentar los datos de un archivo individual.
- Si desfragmentas, no esperes hasta alcanzar el número máximo de límite de fragmentos. Tengo una carpeta donde no puedo desfragmentar porque he esperado hasta que sea demasiado tarde. Mi próxima prueba es tratar de mover algunos archivos de esa carpeta a otra carpeta para ver si puedo desfragmentarlo. Si esto falla, entonces lo que tendría que hacer es 1) crear una nueva carpeta. 2) mover un lote de archivos a la nueva carpeta. 3) desfragmentar la nueva carpeta. repita # 2 y # 3 hasta que se haga esto y luego 4) elimine la carpeta anterior y cambie el nombre de la nueva carpeta para que coincida con la anterior.
Para responder a su pregunta más directamente: Si está viendo 100K entradas, no se preocupe. Ve a noquearte. Si está viendo decenas de millones de entradas, entonces:
a) Haga planes para subdividirlos en subcarpetas (por ejemplo, supongamos que tiene 100 millones de archivos. Es mejor almacenarlos en 1000 carpetas para que solo tenga 100,000 archivos por carpeta que almacenarlos en 1 carpeta grande). creará 1000 índices de carpeta en lugar de uno solo grande que sea más probable que alcance el límite máximo de # de fragmentos o
b) Haga planes para ejecutar contig.exe regularmente para mantener el índice de su carpeta grande desfragmentado.
Lea a continuación solo si está aburrido.
El límite real no está en el número de fragmentos, sino en el número de registros del segmento de datos que almacena los punteros al fragmento.
Entonces, lo que tiene es un segmento de datos que almacena punteros a los fragmentos de los datos del directorio. Los datos del directorio almacenan información sobre los subdirectorios y subarchivos que supuestamente almacenó el directorio. En realidad, un directorio no "almacena" nada. Es solo una función de seguimiento y presentación que presenta la ilusión de jerarquía para el usuario, ya que el medio de almacenamiento en sí es lineal.