Разное

Create index unique: Создание и удаление таблиц и индексов с помощью SQL Access

Содержание

Создание и удаление таблиц и индексов с помощью SQL Access



  • Чтение занимает 3 мин

В этой статье

Создание и удаление таблицCreate and delete tables

Таблицы — это основные стандартные блоки реляционной базы данных.Tables are the primary building blocks of a relational database. Таблица содержит строки (или записи) данных, каждая из которых состоит из конечного числа столбцов (или полей).A table contains rows (or records) of data, and each row is organized into a finite number of columns (or fields). Для создания новой таблицы в Access с помощью SQL Access необходимо указать имя таблицы, присвоить поля имя и определить тип данных, которые будут храниться в полях.To build a new table in Access by using Access SQL, you must name the table, name the fields, and define the type of data that the fields will contain. Используйте инструкцию CREATE TABLE , чтобы определить таблицу в SQL.Use the CREATE TABLE statement to define the table in SQL. Предположим, что вы создаете базу данных выставления счетов.Suppose that you are building an invoicing database. Первым этапом является создание таблицы первоначальных клиентов.The first step is to build the initial customers table.

CREATE TABLE tblCustomers  
    (CustomerID INTEGER, 
    [Last Name] TEXT(50), 
    [First Name] TEXT(50), 
    Phone TEXT(10), 
    Email TEXT(50)) 

При создании и удалении таблиц следует учитывать следующие моменты.Be aware of the following issues when creating and deleting tables:

  • Если имя поля содержит пробел или какой-либо другой символ, не являющийся буквенно-цифровым, необходимо заключить имя поля в квадратные скобки ([]).If a field name includes a space or some other nonalphanumeric character, you must enclose that field name within square brackets ([ ]).

  • Если не объявляется длина для текстовых полей, по умолчанию используется длина 255 символов.If you do not declare a length for text fields, they will default to 255 characters. Для обеспечения согласованности и удобочитаемости кода всегда следует определять длины полей.For consistency and code readability, you should always define your field lengths.

Можно объявить поле как не равное NULL, что означает, что значения NULL не могут быть вставлены в это конкретное поле; значение всегда является обязательным.You can declare a field to be NOT NULL, which means that null values cannot be inserted into that particular field; a value is always required. Значение NULL не следует путать с пустой строкой или значением 0; Это просто представление базы данных с неизвестным значением.A null value should not be confused with an empty string or a value of 0; it is simply the database representation of an unknown value.

CREATE TABLE tblCustomers  
    (CustomerID INTEGER NOT NULL, 
    [Last Name] TEXT(50) NOT NULL, 
    [First Name] TEXT(50) NOT NULL, 
    Phone TEXT(10), 
    Email TEXT(50)) 

Чтобы удалить таблицу из базы данных, используйте инструкцию DROP TABLE .To remove a table from the database, use the DROP TABLE statement.

DROP TABLE tblCustomers 

Создание и удаление индексовCreate and delete indexes

Индекс — это внешняя структура данных, используемая для сортировки и упорядочивания указателей на данные в таблице.An index is an external data structure used to sort or arrange pointers to data in a table. Когда вы применяете индекс к таблице, вы указываете конкретное расположение данных, чтобы к ним можно было получать доступ быстрее.When you apply an index to a table, you are specifying a certain arrangement of the data so that it can be accessed more quickly. Тем не менее, если вы применяете слишком много индексов к таблице, производительность может снизиться, так как в этом случае возникает дополнительная нагрузка, связанная с обслуживанием индекса, и поскольку индекс может привести к проблемам с блокировкой при использовании в многопользовательской среде.However, if you apply too many indexes to a table, you may slow down the performance because there is extra overhead involved in maintaining the index, and because an index can cause locking issues when used in a multiuser environment. При использовании в правильном контексте индекс может значительно увеличить производительность приложения.Used in the correct context, an index can greatly improve the performance of an application.

Чтобы создать индекс для таблицы, необходимо присвоить этому индексу имя, присвоить таблице имя, присвойте полю или полям в таблице имя, а также указать нужные параметры.To build an index on a table, you must name the index, name the table to build the index on, name the field or fields within the table to use, and name the options you want to use. Для построения индекса используется оператор CREATE INDEX .You use the CREATE INDEX statement to build the index. Например, можно создать индекс таблицы Customers в базе данных выставления счетов, упомянутой ранее, с помощью следующего кода:For example, you could build an index on the customers table in the invoicing database mentioned earlier by using the following code:

CREATE INDEX idxCustomerID  
    ON tblCustomers (CustomerID) 

Индексированные поля можно сортировать одним из двух способов: по возрастанию (ASC) или по убыванию (DESC).Indexed fields can be sorted in one of two ways: ascending (ASC) or descending (DESC). По умолчанию используется порядок по возрастанию, и его не нужно объявлять.The default order is ascending, and it does not have to be declared. Если используется порядок по возрастанию, данные будут отсортированы от 1 до 100.If you use ascending order, the data will be sorted from 1 to 100. Если указать убывающий порядок, данные будут отсортированы от 100 до 1.If you specify descending order, the data will be sorted from 100 to 1. Необходимо объявить порядок сортировки для каждого поля в индексе.You should declare the sort order with each field in the index.

CREATE INDEX idxCustomerID  
    ON tblCustomers (CustomerID DESC) 

Существует четыре основных параметра, которые можно использовать с индексом: PRIMARY, запретить NULL, Ignore NULLи UNIQUE.There are four main options that you can use with an index: PRIMARY, DISALLOW NULL, IGNORE NULL, and UNIQUE. Основной параметр определяет индекс как первичный ключ для таблицы.The PRIMARY option designates the index as the primary key for the table. В таблице может быть только один индекс первичного ключа, хотя индекс первичного ключа можно объявить с несколькими полями.You can have only one primary key index per table, although the primary key index can be declared with more than one field. Используйте ключевое слово WITH для объявления параметров индекса.Use the WITH keyword to declare the index options.

CREATE INDEX idxCustomerID  
    ON tblCustomers (CustomerID) 
    WITH PRIMARY 

Чтобы создать индекс первичного ключа для нескольких полей, включите все имена полей в список полей.To create a primary key index on more than one field, include all of the field names in the field list.

CREATE INDEX idxCustomerName  
    ON tblCustomers ([Last Name], [First Name]) 
    WITH PRIMARY 

Параметр запретить NULL запрещает вставку пустых данных в поле.The DISALLOW NULL option prevents insertion of null data in the field. (Это значение аналогично объявлению NOT NULL , используемому в инструкции CREATE TABLE .)(This is similar to the NOT NULL declaration used in the CREATE TABLE statement.)

CREATE INDEX idxCustomerEmail  
    ON tblCustomers (Email) 
    WITH DISALLOW NULL 

Параметр Ignore NULL приводит к тому, что в таблице игнорируются пустые данные для индекса.The IGNORE NULL option causes null data in the table to be ignored for the index. Это означает, что любая запись, имеющая значение NULL в объявленном поле, не будет использоваться (или не будет учитываться) в индексе.That means that any record that has a null value in the declared field will not be used (or counted) in the index.

CREATE INDEX idxCustomerLastName  
    ON tblCustomers ([Last Name]) 
    WITH IGNORE NULL 

В дополнение к основному, запрету значения NULLи игнорированию параметров NULL можно также объявить индекс как уникальный, что означает, что в индексированное поле можно вставить только уникальные неповторяющиеся значения.In addition to the PRIMARY, DISALLOW NULL, and IGNORE NULL options, you can also declare the index as UNIQUE, which means that only unique, non-repeating values can be inserted in the indexed field.

CREATE UNIQUE INDEX idxCustomerPhone  
    ON tblCustomers (Phone) 

Чтобы удалить индекс из таблицы, используйте инструкцию DROP INDEX .To remove an index from a table, use the DROP INDEX statement.

DROP INDEX idxName 
    ON tblCustomers 

Поддержка и обратная связьSupport and feedback

Есть вопросы или отзывы, касающиеся Office VBA или этой статьи?Have questions or feedback about Office VBA or this documentation? Руководство по другим способам получения поддержки и отправки отзывов см. в статье Поддержка Office VBA и обратная связь.Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.



PostgreSQL : Документация: 9.6: CREATE INDEX : Компания Postgres Professional

Описание

CREATE INDEX создаёт индексы по указанному столбцу(ам) заданного отношения, которым может быть таблица или материализованное представление. Индексы применяются в первую очередь для оптимизации производительности базы данных (хотя при неправильном использовании возможен и противоположный эффект).

Ключевое поле для индекса задаётся как имя столбца или выражение, заключённое в скобки. Если метод индекса поддерживает составные индексы, допускается указание нескольких полей.

Поле индекса может быть выражением, вычисляемым из значений одного или нескольких столбцов в строке таблицы. Это может быть полезно для получения быстрого доступа к данным по некоторому преобразованию исходных значений. Например, индекс, построенный по выражению upper(col), позволит использовать поиск по индексу в предложении WHERE upper(col) = 'JIM'.

PostgreSQL предоставляет следующие методы индексов: B-дерево, хеш, GiST, SP-GiST, GIN и BRIN. Пользователи могут определить и собственные методы индексов, но это довольно сложная задача.

Если в команде присутствует предложение WHERE, она создаёт частичный индекс. Такой индекс содержит записи только для части таблицы, обычно более полезной для индексации, чем остальная таблица. Например, если таблица содержит информацию об оплаченных и неоплаченных счетах, при этом последних сравнительно немного, но именно эта часть таблицы наиболее востребована, то увеличить быстродействие можно, создав индекс только по этой части. Ещё одно возможное применение WHERE — добавив UNIQUE, обеспечить уникальность в подмножестве таблицы. Подробнее это рассматривается в Разделе 11.8.

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

Все функции и операторы, используемые в определении индекса, должны быть «постоянными», то есть, их результаты должны зависеть только от аргументов, но не от внешних факторов (например, содержимого другой таблицы или текущего времени). Это ограничение обеспечивает определённость поведения индекса. Чтобы использовать в выражении индекса или в предложении WHERE собственную функцию, не забудьте пометить её при создании как постоянную (IMMUTABLE).

Индексы в базе данных Oracle

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

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

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

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

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

  • Уникальные и неуникальные индексы. Уникальные индексы основаны на уникальном столбце – обычно вроде номера карточки социального страхования сотрудника. Хотя уникальные индексы можно создав

Oracle CREATE ALTER INDEX — SQL программирование

Платформа Oracle позволяет с помощью инструкции CREATE INDEX создавать индексы по таблицам, секционированным таблицам, кластерам и индекс-таблицам (index-organized tables), а также скалярным атрибутам объектов объектных таблиц (typed table) и столбцам вложенных таблиц. Платформа Oracle также позволяет использовать несколько типов индексов, в том числе обычные иерархические (B-tree) индексы, индексы на основе битовых карт (BITMAP) (используются для столбцов, в которых каждое значение повторяется 100 и более раз), секционированные индексы, индексы, связанные с функцией (основанные на выражении, а не на значении в столбце), и предметные индексы (domain index).

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

Платформа Oracle также поддерживает инструкцию ALTER INDEX. Она используется для изменения или перестройки существующего индекса без его удаления и повторного создания.

Синтаксис инструкции CREATE INDEX в Oracle следующий.

CREATE [UNIQUE | BITMAP] INDEX имя_индекса {ON

{имя_таблицы ({столбец | выражение} [ASC | DESC] [, …]) [{INDEXTYPE IS

тип_индекса [PARALLEL [int] | NOPARALLEL] [PARAMETERS С значения’)}] | CLUSTER имя_кластера |

FROM имя_таблицы WHERE условие [LOCAL секционирование]} [{LOCAL секционирование |

GLOBAL секционирование}] [параметры_физических_атрибутов] [{LOGGING | NOLOGGING}]

[ONLINE] [COMPUTE STATISTICS] [{TABLESPACE имя_табличного_пространства DEFAULT}] [{COMPRESS int | NOCOMPRESS}] [{NOSORT |

SORT}] [REVERSE] [{PARALLEL [int] | NOPARALLEL}]

Синтаксис инструкции ALTER INDEX следующий.

ALTER INDEX имя_индекса

{{ENABLE | DISABLE} | UNUSABLE | RENAME TO новое_имя_индекса COALESCE] [NO]MONITORING USAGE | UPDATE BLOCK REFERENCES |

PARAMETERS (‘параметры_00С1’) | параметры_изменения_секционирования_индекса | параметры_перестройки |

[DEALLOCATE UNUSED [KEEP int [К | M | G | T]]

[ALLOCATE EXTENT ([SIZE int [К | M | G | T]] [DATAFILE ‘имя_файла’]

[INSTANCE int])] [SHRINK SPACE [COMPACT] [CASCADE]] [{PARALLEL [int] | NOPARALLEL}] [{LOGGING | NOLOGGING}]

[параметры_физических_атрибутов]}

Где предложения, не входящие в стандарт ANSI, таковы:

BITMAP

Вместо индексирования каждой строки для каждого значения индекса создается битовая карта. Битовые карты лучше всего использовать для таблиц с небольшим числом конкурентных запросов, например таблиц с высокой интенсивностью чтения. Индексы на основе битовых карт несовместимы с индексами с глобальным секционированием, предложением INDEXTYPE и индекс-таблицами (index-organized table) без связи с таблицей соответствия (mapped table).

ASC | DESC

Определяет расположение значений индекса в восходящем (ASQ или нисходящем (DESQ порядке. Если предложение опущено, по умолчанию принимается ASC. Однако помните, что Oracle считает индексы с предложением DESC индексами, основанными на функции, так что между индексами с предложением ASC и индексами с предложением DESC есть некоторые функциональные различия. Предложения ASC и DESC нельзя использовать совместно с предложением INDEXTYPE. Предложение DESC игнорируется при использовании индексов на основе битовых карг (BITMAP).

INDEXTYPE IS munjuidenca [PARAMETERS (‘значения’)]

Создается индекс определенного пользователем типа тип_индекса. Предметные индексы (domain index) требуют, чтобы пользовательский тип уже существовал (обращайтесь к разделу «Инструкция CREATE/ALTER TYPE»). Если для пользовательского типа требуются аргументы, их можно передать с помощью предложения PARAMETERS. При желании можно параллелизировать создание типизированного индекса с помощью предложения PARALLEL, которое подробно рассматривается ниже.

CLUSTER имя_кластера

Объявляется кластерный индекс с указанием существующего имени_клаетера. В Oracle кластерный индекс физически совмещает две таблицы, которые часто опрашиваются по одинаковым столбцам, обычно столбцам первичного и внешнего ключей. (Кластеры создаются специфической для Oracle командой CREATE CLUSTER.) Таблицы и столбцы в кластерном индексе не нужно объявлять, поскольку таблицы и индексированные столбцы уже объявлялись в ранее выполненной команде CREATE CLUSTER.

Попытка вставки неуникального значения в уникальный индекс

Вам встретилось сообщение, содержащее строки:
Microsoft OLE DB Provider for SQL Server: CREATE UNIQUE INDEX terminated because a duplicate key was found for index ID
или
Cannot I_nsert duplicate key row in object
или
Попытка вставки неуникального значения в уникальный индекс.

Варианты решения:


1. В SQL Server managment studio физически уничтожаем сбойный индекс (в моем случае это был индекс по таблице итогов регистра бухгалтерии). В 1С распроводим сбойные документы. В режиме тестирования и исправления ставим галки реиндексация таблиц + пересчет итогов. 1С воссоздает индекс уже без ошибки. Проводим ранее сбоившие документы.


2. 1) С помощью Management Studio 2005 сгенерировала create-скрипт на создание индекса, который глючил, и сохранила в файлик.
2) Вручную убила косячный индекс из таблицы _AccumRgTn19455
3) Запустила запрос вида
Код SQL

 S_elect count(*), поля_индекса
FROM AccumRgTn19455
GROUP BY поля_индекса
HAVING count(*)>1

После того, как индекс был убит, у меня отобразилось 15 дублирующихся записей, хотя до выполнения п.2 запрос ничего не возвращал.
4) Просмотрела все записи и вручную почистила дубликаты. На самом деле, я ещё пользовалась обработкой «Структура отчёта», чтобы понять, с чем вообще имею дело. Оказалось, что в таблице _AccumRgTn19455 хранится регистр накопления «Выпуск продукции (налоговый учёт)». Я ещё поковырялась sql-запросами, выявила 15 неуникальных документов и после окончания всех действ проверила в 1С, что эти документы проводятся нормально, без ошибок. Просто так чистить таблицы наобум, конечно, не стоит: важно понимать, что чистится и чем это может обернуться.
5) Запустила запрос на создание индекса, который был сохранён в файле.
6) Перевела базу в однопользовательский режим и запустила dbcc checkdb — на этот раз ни одной ошибки не выдалось.
7) Перевела базу обратно в однопользовательский режим.
Всё… проблема побеждена. Ну ещё в 1С запустила «Тестирование и исправление», там тоже всё прошло нормально, перестало ругаться на неуникальный индекс.


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

1. Если проблема загрузкой базы данных, то:

1.1. Если Вы делаете загрузку (используйете dt-файл) в базу MS SQL Server, то при создании базы перед загрузкой укажите смещение дат — 2000.

Если уже база создана со смещением 0, то создайте новую с 2000.

1.2. Если есть возможность в файловом варианте работать с базой, то выполните Тестирование и Исправление, а также Конфигурация — Проверка конфигурации — Проверка логической целостности конфигурации + Поиск некорректных ссылок.

1.3. Если нет файлового варианта, попробуйте загрузить из DT в клиент-серверный вариант с DB2 (который менее требователен к уникальности), и затем выполнить Тестирование и Исправление, а также Конфигурация — Проверка конфигурации — Проверка логической целостности конфигурации + Поиск некорректных ссылок.

1.4. Для локализации проблемы можно определить данные объекта, загрузка которого не удалась. Для этого надо включить во время загрузки трассировку в утилите Profiler или включите запись в технологический журнал событий DBMSSQL и EXCP.

2. Если проблема неуникальности проявляется во время работы пользователей:

2.1. Найти с помощью метода пункта 1.4 проблемный запрос.

2.1.2. Иногда ошибка возникает во время исполнения запросов, например:

Данная ошибка возникает из-за того что в модуле регистра накопления «Рабочее время работников организаций» в процедуре «ЗарегистрироватьПерерасчеты» в запросе не стоит служебное слово «РАЗЛИЧНЫЕ».

Код 1C v 8.х

 Т.е. должно быть:
Запрос = Новый Запрос(
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| Основные.ФизЛицо,
. . . . .

В последних выпущенных релизах ЗУП и УПП ошибка не возникает, т.к. там стоит «РАЗЛИЧНЫЕ».

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

2.2.1. «Рыба» скрипта для определения неуникальных записей с помощью SQL:

Код SQL

 S_elect COUNT(*) Counter, <перечисление всех полей соответствующего индекса> from <имя таблицы>
GROUP BY <перечисление всех полей соответствующего индекса>
HAVING Counter > 1

2.2.2 Пример. Индекс в ошибке называется «_Document140_VT1385_IntKeyIndNG».

Перечень полей таблицы:
_Document140_IDRRef, _KeyField, _LineNo1386, _Fld1387, _Fld1388, _Fld1389, _Fld1390, _Fld1391RRef, _Fld1392RRef, _Fld1393_TYPE, _Fld1393_RTRef, _Fld1393_RRRef, _Fld1394,_Fld1395, _Fld1396RRef, _Fld1397, _Fld1398, _Fld1399RRef, _Fld22260_TYPE, _Fld22260_RTRef, _Fld22260_RRRef, _Fld22261_TYPE, _Fld22261_RTRef, _Fld22261_RRRef

Перед выполнением приведенной ниже процедуры сделайте резервную копию базы данных.

Выполните в MS SQL Server Query Analizer:

Код SQL

 S_elect count(*), _Document140_IDRRef, _KeyField
from _Document140_VT1385
group by _Document140_IDRRef, _KeyField
having count(*) > 1

С его помощью узнайте значения колонок _Document140_IDRRef, _KeyField, дублирующихся записей (id, key).

При помощи запроса:

Код SQL

 S_elect *
from _Document140_VT1385
where _Document140_IDRRef = id1 and _KeyField = key1 or _Document140_IDRRef = id2 and _KeyField = key2 or ...

посмотрите на значения других колонок дублирующихся записей.
Если обе записи имеют осмысленные значения и эти значения разные, то исправьте значение _KeyField на уникальное. Для этого определите максимальное занятое значение _KeyField (keymax):
Код SQL

 S_elect max(_KeyField)
from _Document140_VT1385
where _Document140_IDRRef = id1

Замените значение _KeyField в одной из повторяющихся записей на правильное:
Код SQL

 update _Document140_VT1385
set _KeyField = keymax + 1
where _Document140_IDRRef = id1 and _LineNo1386 = lineno1

Здесь _LineNo1386 = — дополнительное условие, которое позволяет выбрать одну из двух повторяющихся записей.

Если одна (или обе) из повторяющихся записей имеет очевидно неправильное значение, то ее нужно удалить:

Код SQL

 delete from _Document140_VT1385
where _Document140_IDRRef = id1 and _LineNo1386 = lineno1

Если повторяющиеся записи имеют одинаковые значения во всех колонках, то из них нужно оставить одну:
Код SQL

 S_elect distinct *
into #tmp1
from _Document140_VT1385
where _Document140_IDRRef = id1 and _KeyField = key1

delete from _Document140_VT1385
where _Document140_IDRRef = id1 and _KeyField = key1

I_nsert into _Document140_VT1385
S_elect #tmp1

D_rop table #tmp1

Описанную процедуру необходимо выполнить для каждой пары повторяющихся записей.

2.2.3. Второй пример:

Код SQL

 S_elect COUNT(*) AS Expr2, _IDRRef AS Expr1, _Description
FROM _Reference8_
GROUP BY _IDRRef, _Description
HAVING (COUNT(*) > 1)

2.3.4 Пример определения неуникальных записей с помощью запроса 1С:Предприятие:

Код 1C v 8.х

 ВЫБРАТЬ Справочник.Ссылка
ИЗ Справочник.Справочник КАК Справочник
СГРУППИРОВАТЬ ПО Справочник.Ссылка
ИМЕЮЩИЕ КОЛИЧЕСТВО(*) > 1

Индексирование таблиц MySQL: создание индекса MySQL, удалить индекс и другие операции

От правильно составленной структуры базы данных очень сильно зависит скорость работы всего проекта. Еще одним инструментом, позволяющим значительно сократить время отклика базы, являются индексы БД MySQL. Перед тем, как рассматривать различные операции с ними, стоит определиться, что же такое индексы СУБД и какие преимущества можно получить при их использовании.

Индексы – это специфические объекты базы данных, позволяющие значительно повысить скорость поиска значений из таблиц базы данных. MySQL index представляет из себя структуру, в которой хранятся значения одного (в некоторых случаях — нескольких) столбца таблицы и ссылок на строки, где эти значения расположены. Так как для хранения индексов чаще всего используются бинарные деревья, поиск среди них занимает чрезвычайно мало места.

Принцип работы индексов очень прост. Для примера рассмотрим запрос: 
SELECT Name FROM Persons WHERE Points < 10

У нас имеется таблица Persons, в которой есть два поля: Name и Points. При поиске в неиндексированной таблице, система последовательно перебирает все строки и сравнивает их с 10. При выполнении условия – выводит их. Даже при наличии в таблице всего 1000 записей, такой запрос может оказаться ресурсоемким, если одновременно поступит от 100 абонентов. Индексирование таблиц MySQL позволяет сократить число операций. Если поле Points будет проиндексировано, поиск будет проводиться по самому индексу, без перебора всех строк таблицы.

Индексы бывают двух видов:

  • Простые. Одному полю таблицы соответствует один индекс.
  • Составные. Один индекс соответствует нескольким полям таблицы.
  • Покрывающий. Этот вид индексов создается специально под определенный запрос и включает в себя все поля таблицы, фигурирующие в запросе.

Индексирование таблиц MySQL

Использование индексирования таблиц MySQL имеет свои особенности:

  • Индексировать есть смысл только определенные поля таблицы. Нередки случаи, когда неопытные пользователи индексируют всю БД. На практике такой шаг может привести к обратному результату: в MySQL индексы негативно влияют на скорость вставки и обновления данных, так как при этих операциях возникает необходимость изменять данные в информационной части индекса.
  • Операции индексирования полей таблиц БД должна быть проделана работа по анализу наиболее частых запросов к БД. Только в этом случае использование индексов позволит оптимизировать работу БД. Выявить наиболее медленные запросы к БД поможет slow log (сохраняет в специальный файл запросы, время выполнения которых превысило заданное пользователем значение). Включить его в MySQL можно, отредактировав конфигурационный файл.
  • Использование одного составного индекса вместо нескольких односоставных для ускорения наиболее активно использующихся запросов также ускорит скорость работы с БД.
  • Покрывающие индексы позволяют получать результат вообще без обращения к таблице БД. Иногда добавление дополнительного проиндексированного поля позволяет существенно сократить время обработки запросов.
  • В MySQL индексы с низкой селективностью (чем больше различных значений принимает параметр, тем выше его селективность) зачастую оказываются неэффективными.
  • В запросах, где используется LIKE %, индексы не используются, даже если поле проиндексировано. Например, при таком запросе: LIKE(SELECT Name FROM Persons WHERE Points LIKE ‘%10’)

Определившись с назначением и особенностями использования индексов СУБД, перейдем к основным операциям с ними.

Создание индекса в MySQL

Для операции создания индекса MySQL предусматривает такой синтаксис:
CREATE [UNIQUE | FULLTEXT] INDEX <уникальное имя индекса> ON <имя таблицы> (<имя столбца> [(length)],… ) 
где:

[UNIQUE | FULLTEXT] – определяет, будет ли индекс содержать только уникальные значения (UNIQUE), или в нем будут присутствовать и повторяющиеся значения (FULLTEXT). По умолчанию используется режим FULLTEXT. Length – определяет длину символов поля для индексирования. Если Length оставить пустым, то в индекс попадет поле целиком вне зависимости от длины.

<имя столбца> — уникальный идентификатор индекса. Если это поле не определено, ему будет присвоено имя первого подлежащего индексации столбца.

В версиях MySQL младше 3.22 эта команда не активна, а в более поздних – в плане создания индексов работает аналогично команде ALTER TABLE. При работе с ALTER TABLE добавление записей происходит при помощи команды ADD INDEX, MySQL при помощи этой команды позволяет создавать индексы PRIMARY KEY (создать индекс такого типа при помощи CREATE INDEX нельзя).

Удаление индекса в MySQL

В MySQL удалить индекс можно при помощи такого оператора:
DROP INDEX <Имя индекса> ON <Имя таблицы>

Post Views:
793

Читайте также

  • Mysql

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

  • Mysql rownum

    Есть таблица меню в БД с полем порядка order_id, но порядок неправильный и надо порядок обновить по алфавиту другого поля title.…

СОЗДАТЬ ИНДЕКС

создать индекс-stmt:
скрыть

Команда CREATE INDEX состоит из ключевых слов «CREATE INDEX», за которыми следует
по названию нового индекса, ключевому слову «ON», названию ранее
созданная таблица, которая должна быть проиндексирована, и список столбцов таблицы в скобках
имена и / или выражения, которые используются для ключа индекса.
Если включено необязательное предложение WHERE, то индекс является «частичным индексом».

Если присутствует дополнительное предложение IF NOT EXISTS и другой индекс
с таким же именем уже существует, то эта команда перестает работать.

Нет никаких произвольных ограничений на количество индексов, которые могут быть
прикреплены к единому столу. Количество столбцов в индексе
ограничено значением, установленным
sqlite3_limit (SQLITE_LIMIT_COLUMN, …).

Индексы удаляются командой DROP INDEX.

1.1. Уникальные индексы

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

Для целей уникальных индексов все значения NULL
считаются отличными от всех других значений NULL и поэтому уникальны.Это одна из двух возможных интерпретаций стандарта SQL-92.
(язык в стандарте неоднозначен). Используемая интерпретация
от SQLite то же самое и интерпретация
за ними следуют PostgreSQL, MySQL, Firebird и Oracle. Informix и
Microsoft SQL Server придерживается другой интерпретации стандарта, которая
заключается в том, что все значения NULL равны друг другу.

1,2. Указатели выражений

Выражения в индексе не могут ссылаться на другие таблицы
и не может использовать подзапросы или функции, результат которых может
изменить (например: random () или sqlite_version ()).Выражения в индексе могут относиться только к столбцам в таблице.
который индексируется.
Индексы по выражению не будут работать с более ранними версиями SQLite.
до версии 3.9.0 (14.10.2015).
Дополнительную информацию см. В документе «Указатели выражений».
об использовании общих выражений в операторах CREATE INDEX.

1.3. Индексы по убыванию

За каждым именем столбца или выражением может следовать одно
ключевых слов «ASC» или «DESC», чтобы указать порядок сортировки.
Порядок сортировки может игнорироваться или не игнорироваться в зависимости от
о формате файла базы данных и, в частности, о номере формата схемы.Формат «устаревшей» схемы (1) игнорирует индекс
Порядок сортировки. Нисходящий формат схемы индекса (4) принимает порядок сортировки индекса
в учетную запись. Только версии SQLite 3.3.0 (11 января 2006 г.)
и позже способны понять
формат индекса по убыванию. Для совместимости версия SQLite между 3.3.0
и 3.7.9 по умолчанию используют устаревший формат схемы. Новый формат схемы —
используется по умолчанию в версии 3.7.10 (2012-01-16) и новее.
Прагма legacy_file_format может использоваться для изменения набора конкретных
поведение для любой версии SQLite.

1,4. ПЕРВЫЕ НУЛИ и ПОСЛЕДНИЕ НУЛИ

Предикаты NULLS FIRST и NULLS LAST не поддерживаются.
для индексов. Для сортировки SQLite считает значения NULL
быть меньше всех остальных значений. Следовательно, значения NULL всегда появляются в
начало индекса ASC и конец индекса DESC.

1,5. Сопоставления

Предложение COLLATE, необязательно после каждого имени столбца
или выражение определяет
последовательность сортировки, используемая для текстовых записей в этом столбце.Сортировка по умолчанию
последовательность — это последовательность сортировки, определенная для этого столбца в
Оператор CREATE TABLE. Или, если последовательность сортировки не определена иначе,
используется встроенная БИНАРНАЯ последовательность сортировки.

SQL

about_job

: 13.12.2006
#: 48,184
: 82
: анкета

: 19, 2006 23:41: SQL

!

Чум

: 26.06.2006
#: 39,031
: 247
:

: 1

: 20, 2006 10:35:


_________________
Duobus certantibus tertius gaudet
about_job

: 13.12.2006
№: 48,184
: 82
: Анкета

: 21, 2006 17:52:

: 28.10.2004
#: 21,838
: 564

: 22, 2006 14:50:

Stufford

: 20.01.2009
№: 75,386
: 19

: 20, 2009 15:52:

neakr

: 21.05.2007
#: 56,101
: 407
:,

: 20, 2009 16:27:


_________________
, г…
Stufford

: 20.01.2009
#: 75,386
: 19

: 20, 2009 16:43:

:
: 147.42 КБ
: 8561 ()
11.jpg
Praetori


: 5

: 20, 2009 17:31:

Stufford

: 20.01.2009
№: 75,386
: 19

: 20, 2009 18:55:

Stufford

: 20.01.2009
#: 75,386
: 19

: 21, 2009 10:37:

!
.
optimism.ru

Уникальные и неуникальные некластеризованные индексы на уникальном кластеризованном индексе |

(Обязательно ознакомьтесь с БЕСПЛАТНЫМ планом обучения настройке производительности SQLpassion — вы получаете еженедельное электронное письмо со всей необходимой информацией о настройке производительности на SQL Server.)

В последнем посте в блоге я говорил о разнице уникальных и неуникальных кластерных индексов. Как вы видели, SQL Server использует внутренние служебные данные размером 4 байта (так называемый uniquifier), чтобы сделать неуникальные строки кластеризованного индекса уникальными.Сегодня я хочу выяснить разницу между уникальными и неуникальными некластеризованными индексами, определенными в таблице с уникальным кластеризованным индексом. Как вы уже знаете, SQL Server создает уникальный кластерный индекс, когда вы определяете ограничение PRIMARY KEY для таблицы. С другой стороны, вы можете использовать оператор CREATE UNIQUE CLUSTERED INDEX для создания уникального кластерного индекса для таблицы. В следующем листинге создается таблица наших клиентов, создается уникальный кластерный индекс для нее и, наконец, создается один уникальный и один неуникальный некластеризованный индекс для этой таблицы.

— Создайте таблицу длиной 393 + накладные расходы 7 байтов = 400 байтов
— Следовательно, на одной странице можно хранить 20 записей (8.096 / 400) = 20,24
СОЗДАТЬ ТАБЛИЦУ клиентов
(
CustomerID INT НЕ NULL,
CustomerName CHAR (100) NOT NULL,
CustomerAddress CHAR (100) НЕ NULL,
Комментарии CHAR (189) NOT NULL
)
ИДТИ

— Создать уникальный кластерный индекс по ранее созданной таблице
СОЗДАТЬ УНИКАЛЬНЫЙ КЛАСТЕРИРОВАННЫЙ ИНДЕКС idx_Customers для клиентов (CustomerID)
ИДТИ
— Вставка 80.000 записей
ОБЪЯВИТЬ @i INT = 1
ПОКА (@i <= 80000) НАЧАТЬ ВСТАВИТЬ ЦЕННОСТИ клиентов ( @я, ‘CustomerName’ + CAST (@i AS CHAR), «CustomerAddress» + CAST (@i AS CHAR), «Комментарии» + CAST (@i AS CHAR) ) НАБОР @i + = 1 КОНЕЦ ИДТИ - Создать уникальный некластеризованный индекс для кластеризованной таблицы СОЗДАТЬ УНИКАЛЬНЫЙ НЕКЛАСТЕРНЫЙ ИНДЕКС idx_UniqueNCI_CustomerID ON Клиенты (CustomerName) ИДТИ - Создать неуникальный некластеризованный индекс в кластерной таблице СОЗДАТЬ НЕКЛАСТЕРНЫЙ ИНДЕКС idx_NonUniqueNCI_CustomerID ON Клиенты (CustomerName) GO

1

2

3

4

5

6

7

8

9

10

11

12

13

140002

13

14

18

19

20

21

22

23

24

25

26

27

28

29

30

000

000

000

000 34

35

36

37

38

— Создайте таблицу длиной 393 + служебные данные 7 байтов = 400 байтов

— Таким образом, на одной странице может храниться 20 записей (8.096/400) = 20,24

CREATE TABLE Customers

(

CustomerID INT NOT NULL,

CustomerName CHAR (100) NOT NULL,

CustomerAddress CHAR (100) NOT NULL,

Комментарии CHAR (189) NOT NULL

)

GO

— Создать уникальный кластерный индекс для ранее созданной таблицы

СОЗДАТЬ УНИКАЛЬНЫЙ КЛАСТЕРИРОВАННЫЙ ИНДЕКС idx_Customers ON Customers (CustomerID)

GO

— Вставить 80.000 записей

DECLARE @i INT = 1

WHILE (@i <= 80000)

BEGIN

INSERT INTO Customer VALUES

(

@i,

‘CustomerName’ + CAST) (@i AS CHAR) ,

‘CustomerAddress’ + CAST (@i AS CHAR),

‘Comments’ + CAST (@i AS CHAR)

)

SET @i + = 1

END

GO

— — Создать уникальный некластеризованный индекс в кластерной таблице

СОЗДАТЬ УНИКАЛЬНЫЙ НЕКЛАСТЕРНЫЙ ИНДЕКС idx_UniqueNCI_CustomerID

ON Customers (CustomerName)

GO

— Создать неуникальный некластеризованный индекс

NUSTER N000 CREEDATE в кластерной таблице 9ONCL2 ИНДЕКС idx_NonUniqueNCI_CustomerID

ON Клиенты (CustomerName)

GO

После создания обоих некластеризованных индексов вы можете использовать DMV sys.dm_db_index_physical_stats , чтобы получить некоторую информацию об индексах. Когда вы посмотрите в DMV, вы увидите, что уникальный некластеризованный индекс имеет длину записи 107 байт, а неуникальный некластеризованный индекс имеет длину записи 111 байтов. Итак, опять же, должна быть разница во внутреннем формате хранения обоих индексов! Давайте проанализируем его и начнем с уникального некластеризованного индекса.

В моем случае корневая страница индекса уникального некластеризованного индекса — 4370, поэтому я могу очень легко выгрузить ее с помощью команды DBCC IND :

СОЗДАТЬ ПЕРВИЧНЫЙ ИНДЕКС | Couchbase Docs

Couchbase

  • Сервер

  • Мобильный

  • Облако

  • SDK

  • Учебники

Загрузки

Couchbase Сервер

6.6

  • 6,5
  • 6,0
  • 5,5
  • 5,1
  • 5,0
  • Введение

    • Почему Couchbase?

    • Что нового?

    • Режим предварительного просмотра для разработчиков

      • Обзор коллекций

        • Коллекции через REST

        • Коллекции через CLI

        • Справочник по REST API

          • Создание области

          • Создание коллекции

          • Список областей и коллекций

          • Удаление коллекции

          • Удаление прицела

        • Справочник cbstats

          • коллекции

          • коллекции-детали

          • объемы

          • объемы-детали

  • Начать

    • Начните здесь!

    • Быстрая установка

    • Изучите конфигурацию сервера

    • Запустите свой первый запрос N1QL

    • Выбери свои следующие шаги

  • Учиться

    • Обзор

      • Глоссарий

      • Список архитектурных схем

    • Данные

      • Модель данных

      • N1QL против SQL

      • Расширенные атрибуты

      • Долговечность

      • Сделки

    • Сегменты, память и хранилище

      • Ведра

        • vBuckets

        • Сжатие

        • Срок действия

      • Память и хранение

        • объем памяти

        • Место хранения

    • Сервисы и индексы

      • Сервисы

        • Служба данных

        • Служба запросов

        • Индексная служба

        • Служба поиска

        • Служба аналитики

        • Служба организации мероприятий

      • Индексы

        • Глобальные вторичные индексы

          • Доступность и производительность

          • Индексирование

          • Сканы

          • Отжимания

          • Настройки хранилища

        • Просмотры

          • Просмотреть концепции

            • Просмотры на основе потоков

            • Просмотр операций

            • Просмотры и сохраненные данные

            • Просмотры разработки

            • Производственные просмотры

          • MapReduce Просмотры

            • Написание MapReduce Views

              • Просмотр лучших практик

              • Функция карты

              • Функция уменьшения

              • Встроенные служебные функции

              • Встроенная функция _count

              • Встроенная функция _sum

              • Встроенная функция _stats

              • Переписывание встроенных функций сокращения

              • Пользовательские функции уменьшения

              • Повторно уменьшить аргумент

              • Представления для объектов, отличных от JSON

              • Перевод SQL в MapReduce

              • Представления в базе данных без схемы

            • Запрос представлений MapReduce

              • Примеры просмотра и запроса

    • Кластеры и доступность

      • Менеджер кластера

      • Связь

      • Ограничения по размеру

      • Узлы

        • Перебалансировать

        • Удаление

        • Отказоустойчивый

          • Изящный

          • Жесткий

          • Автоматический

        • Восстановление

        • Межузловое шифрование

      • Доступность

        • Внутрикластерная репликация

        • Межцентровая репликация (XDCR)

          • Расширенная фильтрация XDCR

          • Разрешение конфликтов XDCR

          • Развертывание XDCR в облаке

        • Осведомленность о группе серверов

    • Безопасность

      • Аутентификация

        • Понимание аутентификации

        • Имена пользователей и пароли

        • Домены аутентификации

        • Сертификаты

      • Авторизация

        • Роли

        • Ресурсы под контролем доступа

        • Обновление до RBAC

      • Аудиторская проверка

      • Шифрование

  • Управлять

    • Обзор

      • Веб-консоль Couchbase

    • Управление узлами и кластерами

      • Инициализировать узел

      • Создать кластер

      • Добавить узел и перебалансировать

      • Присоединяйтесь к кластеру и перебалансируйте

      • Список узлов кластера

      • Удалить узел и перебалансировать

      • Провалить узел и перебалансировать

        • Изящный

        • Жесткий

      • Восстановить узел и перебалансировать

      • Управление шифрованием от узла к узлу

      • Управление семействами адресов

    • Управление корзинами

      • Создать ведро

      • Редактировать ведро

      • Промыть ведро

      • Удалить корзину

    • Управление ведением журнала

    • Управление настройками

      • Генеральная

      • Автоуплотнение

      • Оповещения по электронной почте

      • Ведра для проб

    • Управление группами серверов

    • Управление XDCR

      • Подготовьтесь к XDCR

      • Создать ссылку

      • Создать репликацию

      • Приостановить репликацию

      • Возобновить репликацию

      • Удалить репликацию

      • Удалить ссылку

      • Обеспечить репликацию

        • Полубезопасный

        • Полностью безопасный

      • Фильтрация репликации

      • Восстановить данные с XDCR

      • Наблюдение за репликацией

    • Управление безопасностью

      • Управление настройками безопасности

      • Управление пользователями, группами и ролями

      • Управление аутентификацией

        • Настроить LDAP

        • Настроить saslauthd

        • Настроить PAM

        • Управление сертификатами

          • Настроить сертификаты сервера

          • Настроить клиентские сертификаты

          • Включить обработку клиентских сертификатов

          • Ротация сертификатов

          • Обработка ошибок сертификата

      • Управление TLS

      • Управлять аудитом

      • Управление сеансами

      • Управление доступом к консоли

      • Управление системными секретами

      • Управление подключениями и дисками

    • Управление статистикой

    • Управление индексами

    • Импорт документов

    • Монитор

      • Управление параметрами мониторинга

      • Монитор с пользовательским интерфейсом

      • Монитор с cbstats

      • Монитор с REST

      • Мониторинг разрешения конфликтов на основе временных меток XDCR

      • Мониторинг запросов

      • Индексы монитора

    • Управление резервным копированием и восстановлением

      • Резервное копирование

        • Стратегии

        • Руководство

        • Облачное резервное копирование

        • Макет архива

      • Инкрементное резервное копирование и восстановление

    • Устранение неполадок

      • Общие ошибки

      • Основные файлы

  • Разработать

    • Введение разработчика

    • SDK

    • Стартовые наборы

    • Запрос

      • Выполнение запросов

        • Запросы и результаты N1QL

        • Получение системной информации

        • Коды ошибок N1QL

      • Учебники

      • Инструменты запросов

        • cbq: оболочка командной строки для N1QL

        • Инструментальные средства запросов

        • Мониторинг запросов

        • N1QL Аудит

        • Поддержка обратной засыпки для N1QL

      • Настройки и параметры

      • Расширенные возможности

        • Группировать по и агрегировать производительность

        • Индексы покрытия

        • Индексы Flex

        • Оптимизатор на основе затрат

      • Справочник по языку N1QL

        • Конвенции

        • Зарезервированные слова

        • Типы данных

        • Литералы

        • Идентификаторы

        • Операторы

          • Арифметические операторы

          • Операторы сбора

          • Операторы сравнения

          • Условные операторы

          • Строительные операторы

          • Логические операторы

          • Вложенные операторы и выражения

          • Строковые операторы

        • Функции

          • Агрегатные функции

          • Функции для работы с массивами

          • Побитовые функции

          • Функции сравнения

          • Условные функции для неизвестных

          • Условные функции для чисел

          • Дата Функции

          • Функции JSON

          • Разные служебные функции

            • СОВЕТНИК Функция

            • CURL функция

          • Числовые функции

          • Функции объекта

          • Функции сопоставления с образцом

          • Функции поиска

          • Строковые функции

          • Функции токена

          • Тип Функции

          • Пользовательские функции

          • Оконные функции

            • Пункт OVER

        • Подзапросы

          • Коррелированные подзапросы

          • Примеры

        • Логическая логика

        • Заявления

          • СОВЕТОВАТЬ

          • ИЗМЕНИТЬ ИНДЕКС

          • ПОСТРОИТЬ ИНДЕКС

          • СОЗДАТЬ ФУНКЦИЮ

          • СОЗДАТЬ ИНДЕКС

            • Индексирование массива

            • Адаптивный индекс

            • Индексирование информации метаданных

            • Разделение индекса

          • СОЗДАТЬ ПЕРВИЧНЫЙ ИНДЕКС

          • УДАЛЯТЬ

          • ФУНКЦИЯ ПАДЕНИЯ

          • ПАДЕНИЕ ИНДЕКСА

          • УДАЛИТЬ ПЕРВИЧНЫЙ ИНДЕКС

          • ВЫПОЛНИТЬ

          • ВЫПОЛНИТЬ ФУНКЦИЮ

          • ОБЪЯСНИТЕ

          • ГРАНТ

          • ВЫВОД

          • ВСТАВИТЬ

          • ОБЪЕДИНЕНИЕ

          • ПОДГОТОВИТЬ

          • ОТЗЫВ

          • ВЫБРАТЬ

            • SELECT синтаксис

            • Предложение SELECT

            • Предложение WITH

            • Предложение FROM

            • Пункт USE

            • Предложение JOIN

            • Пункт NEST

            • Пункт UNNEST

            • Пункт LET

            • Предложение WHERE

            • Предложение GROUP BY

            • UNION, INTERSECT и EXCEPT

            • Предложение ORDER BY

            • Предложение LIMIT

            • Предложение OFFSET

          • ОБНОВИТЬ

          • ОБНОВЛЕНИЕ СТАТИСТИКИ

          • UPSERT

    • Поиск

      • Выполнение поисков

        • Поиск из пользовательского интерфейса

        • Поиск с помощью REST API

        • Демонстрационные указатели

      • Создание индексов

      • Понимание анализаторов

      • Понимание запросов

        • Типы запросов

          • Запросы строки запроса

          • Геопространственные запросы

        • Сортировка результатов запроса

        • Обработка объектов ответа

      • Устранение неполадок и часто задаваемые вопросы

    • Троеборье

      • Терминология

      • Языковые конструкции

        • Таймеры

        • cURL

      • Жизненный цикл событий

      • Примеры: использование сервиса Eventing Service

        • Обогащение данных

        • Каскадное удаление

        • Срок действия документа

        • Удалить v Срок действия

        • Архивирование документов

        • Отменить или перезаписать таймер

        • Повторяющийся таймер

        • Внешний REST через cURL GET

        • Оценка рисков

      • Примеры: краткие скрипты

        • basicBucketOps

        • basicCurlGet

        • basicCurlPost

        • redactSharedData

        • простой

        • fixEmailDomains

        • keepLastN

        • docControlledSelfExpiry

        • shippingNotifier

        • basicN1qlSelectStmt

        • basicN1qlPreparedSelectStmt

        • dateToEpochConversion

        • deepCloneAndModify

        • removeNullsAndEmptys

        • genericRename

        • genericFlatten

        • FastToLocalString

      • Отладка и диагностика

      • Статистика

      • Устранение неполадок и передовые методы

      • Часто задаваемые вопросы

    • Аналитика

      • Введение

      • Использование аналитики

        • Выполнение запросов

        • Мониторинг запросов

        • Параметры конфигурации

        • Параметры запроса

        • Ответы на запросы

        • Коды ошибок

      • Руководство

      • Справочник по языку N1QL для аналитики

        • Что такое N1QL для аналитики?

        • Выражения

        • Запросы

        • Ошибки

        • Язык определения данных (DDL)

        • N1QL для аналитики vs.N1QL для запросов

        • Использование индексов

        • Встроенные функции

        • Типы данных

        • Приложение 1. Зарезервированные ключевые слова

        • Приложение 2: Настройка производительности

        • Приложение 3: Привязки переменных и разрешение имен

  • Установить и обновить

    • Варианты развертывания

    • Системные Требования

      • Поддерживаемые операционные системы

      • Требования к системным ресурсам

      • Дополнительные требования

      • Требования к сети и брандмауэру

    • Рекомендации по развертыванию

      • Рекомендации по выбору размеров

      • Требования к синхронизации часов

      • Отключить THP

      • Настроить замену ядра

      • Стратегии развертывания клиентов

      • Соображения безопасности

      • Список процессов сервера Couchbase

      • Рекомендации по ВМ и контейнерам

      • О кластерах с менее чем 3 узлами

    • Установка

      • Установить в Linux

        • Red Hat и CentOS

        • Ubuntu и Debian

        • SUSE Enterprise

        • Oracle Enterprise

        • Amazon Linux 2

        • Установка и обновление без полномочий root

        • Установить несколько экземпляров

      • Установить в Windows

      • Установить на macOS

      • Проверьте установку

      • Запуск и выключение

      • Удалить

    • Развертывание в облаке и контейнерах

      • AWS

        • Развертывание с помощью AWS Marketplace

        • Развертывание с Terraform

      • Лазурь

        • Развертывание с помощью Azure Marketplace

      • GCP

        • Развернуть с помощью GCP Marketplace

      • Kubernetes и OpenShift

        • Развертывание с автономным оператором

      • Докер

        • Установить с помощью Docker

    • Обновление сервера Couchbase

      • Варианты обновления

      • Выполнение непрерывного онлайн-обновления

      • Выполнение офлайн-обновления

      • Выполнение обновления одного узла

      • Обновление кластеров IPv6

      • Обновление до Couchbase Server 6.6

    • Миграция

      • Включение разрешения конфликтов на основе меток времени для перенесенных данных

      • Миграция с Apache CouchDB

      • Переход с реляционных баз данных

  • Интегрировать

    • Разъемы

    • Подключаемый модуль Elasticsearch

    • Соединитель Kafka

    • Разъем искры

    • Драйверы Couchbase ODBC и JDBC

  • Справка

    • Ссылка CLI

      • cbbackupmgr

        • cbbackupmgr резервное копирование

        • cbbackupmgr собирать журналы

        • cbbackupmgr компактный

        • cbbackupmgr конфигурация

        • cbbackupmgr изучить

        • cbbackupmgr справка

        • cbbackupmgr информация

        • cbbackupmgr список

        • cbbackupmgr слияние

        • cbbackupmgr удалить

        • cbbackupmgr восстановление

      • cbexport

        • cbexport json

      • cbimport

        • cbimport csv

        • cbimport json

      • диван-кровать

        • настройка-ссылка-аналитика

        • ковш-компактный

        • ведро-создать

        • ведро-удалить

        • ведро-правка

        • смыв ведром

        • Список ковша

        • кластер-править

        • cluster-init

        • собирать журналы начать

        • сбор-журналы-статус

        • собирать журналы-стоп

.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *