Файл (КАДР), не найденный? Представление Cant таблицы?

Кластерный индекс определяет физический порядок данных в таблице и особенно эффективен на столбцах, которые часто ищутся диапазоны значений. Они также эффективны для нахождения определенной строки, когда индексируемое значение уникально.

Обычно (существуют исключения), кластерный индекс должен быть на столбце, который увеличивается монотонно - такие как столбец идентификационных данных или некоторый другой столбец, где значение увеличивается - и уникально. Во многих случаях первичный ключ является идеальным столбцом для кластерного индекса (но не помещайте кластерный индекс на uniqueidentifier/GUID столбец.)

Из этой статьи MSDN:

Прежде, чем создать кластерные индексы, поймите, как к Вашим данным получат доступ. Рассмотрите использование кластерного индекса для:

  • Столбцы, которые содержат большое количество отличных значений.
  • Запросы, которые возвращают диапазон операторов использования значений такой как МЕЖДУ,>,> =, <и <=.
  • Столбцы, к которым получают доступ последовательно.
  • Запросы, которые возвращают большие наборы результатов.
  • Столбцы, к которым часто получают доступ запросы, включающие пункты GROUP BY или соединение; обычно это столбцы внешнего ключа. Индекс на столбце (столбцах), указанном в ORDER BY или пункте GROUP BY, избавляет от необходимости SQL Server сортировать данные, потому что строки уже отсортированы. Это улучшает производительность запросов.
  • Приложения типа OLTP, где очень быстрый поиск одной строки требуется, обычно посредством первичного ключа. Создайте кластерный индекс на первичном ключе.

Кластерные индексы не являются хорошим выбором для:

  • Столбцы, которые претерпевают частые изменения: Это приводит ко всему перемещению строки (потому что SQL Server должен сохранить значения данных строки в физическом порядке). Это - важный фактор в системах обработки крупной транзакции, где данные имеют тенденцию быть энергозависимыми.
  • Широкие ключи: значения ключа от кластерного индекса используются всеми некластеризованными индексами в качестве ключей поиска и поэтому хранятся в каждой некластеризованной индексной листовой записи.

SQLServerpedia.com имеет некоторые хорошие статьи/учебные руководства для индексной настройки: Индексируйте Связанные Запросы DMV и Используя Правильные Индексы для Оптимальной Производительности.

3
задан 22 December 2012 в 08:23
1 ответ

.frm файлы не содержат данные; .ibd файлы имеют данные, если Вы имеете innodb_file_per_table в my.cnf файл. Если Вы не имеете innodb_file_per_table в my.cnf файл, данные находятся в ibdata1 файл.

.frm файлы являются файлами формата таблицы. У них есть информация о столбцах в таблице. Если все, что Вы имеете, .frm файлы, Ваших данных не стало.

1
ответ дан 3 December 2019 в 07:44

Теги

Похожие вопросы