Мова :
SWEWE Член :Ввійти |Реєстрація
Пошук
Енциклопедія співтовариство |Енциклопедія відповіді |Відправити запитання |Словник знань |Завантажити знання
Попередній 2 Наступний Вибір сторінок

MySQL

Скупчення / NDB механізм зберігання високою надмірністю, з кількома машинами комбінованих послуг передачі даних, щоб поліпшити загальну продуктивність і безпеку. Підходить для великих обсягів даних, безпеку і продуктивність вимогливих додатківCSV: кому логічно з даних зберігання двигуна. Це створить. Файл CSV для кожної таблиці в підкаталозі бази даних. Це звичайний текстовий файл, кожен рядок даних займає один рядок тексту. CSV механізм зберігання браузер не підтримує індексацію.

BlackHole: двигун чорна діра, будь-які дані, записані зникати, зазвичай використовується для копіювання записів робити Двійковий реле

Зберігання Приклад двигун заглушки двигуна нічого не робить. Він призначений в якості джерела MySQL Приклад коду, який демонструє, як почати писати новий движок для зберігання. Точно так само, його головний інтерес для розробників. Зберігання Приклад двигун не підтримує індексування.

Крім того, MySQL зберігання визначення інтерфейсу двигун гарний. Зацікавлені розробники можуть написати свої власні механізми зберігання, читаючи документацію.

Архітектура додатків

Єдина точка (Single), підходить для невеликих додатків

Копіювати (реплікація), підходить для невеликих додатків

Кластер (Cluster), підходить для великомасштабних додатків

Функція Індекс

Індекс являє собою спеціальний файл (паспорт індекс InnoDB є невід'ємною частиною табличного простору), який містить всі рекорди по еталонної таблиці даних покажчика. Індекс не є панацеєю, індекс може прискорити операції вилучення даних, але може привести до уповільнення зміни даних операцій. Кожен змінювати записи даних, індекси повинні оновлюватися один раз. Щоб компенсувати цей недолік в деяких програмах, є багато SQL команд DELAY_KEY_WRITE пунктів. Роль цього варіанту є тимчасово зупинити MySQL за вставити новий запис у порядку і відразу ж після кожного модифікація існуючого індексу для оновлення, оновлення індексу буде чекати, поки все записі не вставлені / зміна далі після завершення. При необхідності багато нових записів в таблицю даних нагоди, опція роль DELAY_KEY_WRITE буде дуже очевидним. Крім того, індекс буде займати значне місце на жорсткому диску. Тому повинні бути перераховані тільки як індексації Найбільш часті запити і сортування даних найчастіше. Зауважимо, що якщо стовпець даних містить багато індексацію дубльованого контенту це не буде мати великого практичного ефекту.

У теорії, можна таблиця даних для кожного поля були побудовані індекс, але загальне число індексу MySQL таблиці тих же даних обмежується до 16.

1. Таблиця даних Індекс InnoDB

У порівнянні з таблицями InnoDB на столах InnoDB, індекси InnoDB таблиць значення набагато більше. На столах InnoDB, індекси будуть не тільки грати роль в записах пошуку даних, або замок дані на рівні рядків механізм аценафтена, фундамент. "Дані блокування на рівні рядків" призначений для блокування в експлуатацію під час виконання операцій в окремих записів обробляється, не бути доступні іншим користувачам. Цей замок вплине (але не обмежуючись) Виберіть, LOCKINSHAREMODE виберіть, команд ForUpdate і вставки, оновлення та видалення команд. Для міркуваннями ефективності, дані на рівні рядків замок InnoDB таблиці насправді сталося на їх індексу, замість того, щоб самій таблиці даних. Очевидно, що механізм блокування даних на рівні рядків тільки у відповідній специфікації, доступною для відповідного індексу, щоб бути ефективним, коли заблокована.

2. Межа

Якщо запит Інеко, є номери площею (WHEREcoloum! =), MySQL не використовуватиме індекс. Точно так само, якщо в реченні WHERE в запиті за допомогою функції (WHEREDAY (колонка) =), MySQL не зможе використовувати індекс. В операції з'єднання (коли необхідно витягти дані з декількох таблиць), MySQL тільки первинні та зовнішні ключі для того, щоб використовувати той же індекс типу даних.

Якщо пропозиція WHERE в запиті за допомогою оператора порівняння LIKE і REGEXP, MySQL тільки у випадку першого символу не є шаблоном пошуку підстановки використовувати індекс. Наприклад, якщо запит LIKE'abc% ', MySQL буде використовувати індекс; Якщо запит LIKE'% АВС, MySQL не використовуватиме індекс.

В операції OrderBy, MySQL упорядковано тільки у разі висловлення запиту використовується не тільки для індексу. (Тим не менш, в запиті за участю декількох таблиць, навіть якщо існує індекс доступні, ці індекси також не грає ролі в прискоренні OrderBy аспекти). Якщо стовпець даних містить багато повторюваних значень, навіть якщо він не буде індексуватися дуже хороші результати. Наприклад, якщо мережа стовпець даних, таких як ті, що містяться в "0/1" або "Y / N" еквіваленті, немає ніякої необхідності, щоб створити індекс на ньому.

Категорія Індекс

1. Загальний індекс

Загальний індекс (індексуються KEY ключових слів або індекс, визначений) єдина місія полягає у прискоренні швидкість доступу до даних. Таким чином, ці дані повинні бути тільки для тих, хто найчастіше з'являються в запиті (WHEREcolumn =) або відсортувати (ORDERBYcolumn) в колонці для створення індексу. Всякий раз, коли це можливо, ви повинні вибрати охайними даних і найбільш компактні колонки даних (наприклад, стовпця типу даних ціле) для створення індексу.

2. Унікальний індекс

Загальний індекс дозволяє даними бути проіндексовані стовпець містить повторювані значення. Наприклад, тому, що люди могли б тезка, і те ж ім'я може з'явитися двічі або більше разів на тому ж "співробітників особистої інформації" таблиці даних.

Якщо ви можете визначити, чи є стовпець даних буде містити тільки значення, відмінні один від одного, в колоні, щоб створити індекс для цього дані повинні бути використані, коли він визначається як ключовому слову UNIQUE унікальний індекс. Перевага: По-перше, MySQL спрощує управління цього показника, індекс, таким чином, стати більш ефективними, по-друге, вартість MySQL буде вставити новий запис, коли таблиці даних, автоматично перевіряти наявність нової записи це поле З'явився в записі цього поля; Якщо це так, MySQL відмовиться вставки нових записів шматок. Іншими словами, ви можете гарантувати тільки унікальні записи даних індексу. Справді, у багатьох випадках, люди, як правило, щоб створити унікальний індекс мета не збільшити швидкість, але тільки для того, щоб уникнути дублювання даних.

3. Старший індекс

Перед неодноразово підкреслював: Ви повинні створити первинний індекс ключа поля, цей показник називається "первинний індекс." Єдина відмінність між первинного індексу та унікального індексу є: Ключове слово колишній використовується при визначенні ГОЛОВНИЙ замість унікальним.

4. Іноземні ключові показники

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

5. Зведений індекс

Індекс може покрити кілька стовпців даних, таких як індекс (Columna, columnB) індексу. Цей показник може бути охарактеризований за допомогою вибірково MySQL такий індекс. Якщо вам потрібно тільки використовувати операцію запиту на стовпців даних індексу Columna, ви можете використовувати складений індекс INDEX (Columna, columnB). Однак це стосується тільки до використання даних, розташованих в передній комбінації рядків у зведеному індексі. Наприклад, INDEX (A, B, C) може бути використаний в якості індексу А чи (А, В), які будуть використовуватися, але не як B, C, або (B, C) використання індексу.


Попередній 2 Наступний Вибір сторінок
Користувач Огляд
Немає коментарів
Я хочу коментувати [Відвідувач (3.145.*.*) | Ввійти ]

Мова :
| Перевірте код :


Пошук

版权申明 | 隐私权政策 | Авторське право @2018 Всесвітній енциклопедичні знання