Тип данных 'text' будет замедлять ваши запросы только в том случае, если вы собираетесь фильтровать, используя этот столбец в предложении WHERE ваших операторов выбора.
SELECT textColumn
FROM table WHERE varcharColumn LIKE '%Spanner%'
можно оптимизировать проще, чем
SELECT varcharColumn
FROM table WHERE textColumn LIKE '%Spanner%'
однако
SELECT textColumn
FROM table WHERE integerColumn = 1
выполняет так же хорошо, как
SELECT varcharColumn
FROM table WHERE integerColumn = 1
Некоторые общие советы:
Как общее правиловам следует подумать о том, как ваши таблицы будут упорядочены в выходных данных (по дате или в алфавитном порядке?) и поместить индекс в этот столбец.
Если вы начинаете с проектирования БД, вы, как правило, должны иметь все своитаблицы, использующие первичный ключ INT, который также является вашим столбцом IDENTITY и кластеризованным индексом.Это означает, что таблицы будут физически упорядочены (на диске) по этому столбцу (как правило, по вашему идентификатору, такому как PersonID и т. Д.), Затем будут использоваться некластеризованные индексы для столбцов, которые вы собираетесь фильтровать, и упорядочивать по.
На более позднем этапе, когда вы создали несколько БД, я бы порекомендовал вам пойти дальше в оптимизации дизайна таблицы, установив в качестве кластерного индекса уникальный столбец, который чаще всего используется для упорядочения таблицы, включая использование нескольких столбцов в качествеваш кластерный индекс.