No lo hagas. SharePoint no es bueno en el manejo de datos transaccionales y tendrá un mal rendimiento.
Cualquier habilidad que pueda tener para mejorar el rendimiento a nivel de base de datos (como los índices de adición) puede tener efectos perjudiciales sobre la instalación de SharePoint (aunque columnas en las listas pueden ser "indexados" a través de SharePoint.
Esencialmente SharePoint está diseñado para un propósito específico (contenido/documentos) y tratando de conseguir que haga algo fuera de lo común significa que tiene que luchar el diente aplicación y las uñas.
Afortunadamente SharePoint tiene varios medios de integración de datos transaccionales en ella.
En primer lugar (si tiene la licencia Enterprise más cara) tiene el Catálogo de datos profesionales que le permite importar valores de base de datos que aparecerán de forma similar a los elementos de la lista.
Si no tiene la licencia Enterprise, puedo recomendar controles/webparts personalizados o el elemento web Vista de datos para permitir que esos datos se "muestren" en las páginas relevantes dentro de SharePoint.
En resumen: Se preparará para una gran cantidad de trabajo incomparable almacenando datos transaccionales dentro de SharePoint en comparación con otros diseños de aplicaciones que alojan los datos en aplicaciones de bases de datos tradicionales y se integran a SharePoint.
Esta regla general es específica de las listas con archivos (bibliotecas de documentos y páginas). – Nat
El límite de 2K se refiere a la representación de la lista. No aplica, p. cuando haces una SPQuery en esa lista. Y sobre los datos del segmento, eso tampoco es correcto. Al final, todos los elementos de la lista en una base de datos de contenido se almacenan en SQL en la tabla AllUserData, por lo que esta segmentación no ayuda. El único caso en el que podría ayudar, aunque no he visto evidencia de eso, es si logras crear una SPQuery que pueda aprovechar el índice SQL en Parent ID en AllUserData. – Ariel