Несколько индексов против нескольких столбцов

Я использую PHP7.1, работающий в моей Raspberry Pi 3.

В файле /etc/apache2/mods-enabled/php7.1.conf я добавил в конце:

AddType application/x-httpd-php .html .htm .png .jpg .gif
579
задан GateKiller 7 October 2008 в 15:36
поделиться

5 ответов

Я соглашаюсь с Заправка для соуса Бочонка .

Эта статья должна получить Вас на правильном пути:

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

, Во-вторых, при создании других индексов на данных и они создаются умно, они будут снова использованы.

, например, предполагают, что Вы ищете таблицу на трех столбцах

состояние, графство, zip.

  • Вы иногда ищете по состоянию только.
  • Вы иногда ищете по состоянию и графству.
  • Вы часто ищете по состоянию, графству, zip.

Тогда индекс с состоянием, графством, zip. будет использоваться во всех трех из этих поисков.

, Если Вы ищете одной только zip довольно много тогда, вышеупомянутый индекс не будет использоваться (SQL Server так или иначе), поскольку zip является третьей частью того индекса, и оптимизатор запросов не будет рассматривать что индекс как полезный.

Вы могли тогда создать индекс на одной только Zip, который будет использоваться в этом экземпляре.

я предполагаю ответ, который Вы ищете, то, что он зависит от Вашего где пункты Ваших часто используемых запросов и также Ваш by's группы.

статья поможет много.:-)

286
ответ дан Community 7 October 2008 в 15:36
поделиться

Да. Я рекомендую проверить статьи Kimberly Tripp об индексации .

, Если индекс "покрывает", то нет никакой потребности использовать что-либо кроме индекса. В SQL Server 2005 можно также добавить дополнительные столбцы к индексу, которые не являются частью ключа, который может устранить прохождения в остальную часть строки.

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

можно также использовать настраивающийся мастер, чтобы помочь определить то, что индексы сделали бы данным запросом, или рабочая нагрузка выполняют лучшее.

71
ответ дан Cade Roux 7 October 2008 в 15:36
поделиться

Многостолбцовый индекс может использоваться для запросов, ссылающихся весь столбцы:

SELECT *
FROM TableName
WHERE Column1=1 AND Column2=2 AND Column3=3

Это может искаться непосредственно с помощью многостолбцового индекса. С другой стороны, самое большее один из индекса отдельного столбца может использоваться (это должно было бы искать все записи, имеющие Column1=1, и затем проверить Column2 и Column3 в каждом из тех).

36
ответ дан MobyDX 7 October 2008 в 15:36
поделиться

Один объект, который, кажется, был пропущен, является звездообразными преобразованиями. операторы Index Intersection разрешают предикат путем вычисления набора строк, пораженных каждым из предикатов, прежде чем любой ввод-вывод будет сделан на таблице фактов. На схеме "звезда" Вы индексировали бы каждый отдельный ключ измерения, и оптимизатор запросов может решить который строки выбрать индексным перекрестным вычислением. Индексы на отдельных столбцах дают лучшую гибкость для этого.

17
ответ дан ConcernedOfTunbridgeWells 7 October 2008 в 15:36
поделиться

Если у Вас будут запросы, которые будут часто использовать относительно статический набор столбцов, создавая единственный закрывающий индекс, который включает их всех, то улучшит производительность существенно.

Путем помещения нескольких столбцов в индекс, оптимизатор должен будет только получить доступ к таблице непосредственно, если столбец не находится в индексе. Я использую их много в организации хранилищ данных. Оборотная сторона - то, что выполнение этого может стоить большого количества издержек, особенно если данные очень энергозависимы.

индексы Создания на отдельных столбцах полезно для операций поиска, часто находимых в системах OLTP.

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

7
ответ дан Bob Probst 7 October 2008 в 15:36
поделиться
Другие вопросы по тегам:

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