[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Выборка из большой таблицы
Basili4
Значится так. Есть огромная таблица 5 миллионов записей

Вся беда в том что она не имеет ключевых полей.

Структура следующая Дата время идентификатор устройства и поля содержащие информацию о устройстве.

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

Мне надо как можно быстрей отобрать записи от 1 устройства в какой то промежуток времени.





Спустя 2 минуты, 25 секунд (28.12.2010 - 16:45) waldicom написал(а):
А составной первичный ключ тоже нельзя построить?

Спустя 3 минуты, 3 секунды (28.12.2010 - 16:48) sergeiss написал(а):
Сделай индекс по используемым в запросе полям: "Дата - время - идентификатор устройства". Других вариантов не вижу.

Спустя 1 минута, 27 секунд (28.12.2010 - 16:49) Basili4 написал(а):
Мне известно слово составной ключ я даже понимаю его смысл но как его сделать. Я не знаю

Спустя 8 минут, 12 секунд (28.12.2010 - 16:58) sergeiss написал(а):
Basili4 - сделай для начала просто индексы smile.gif Потому что составной ключ, по сути, сделает те же индексы. Но заодно и запретит дублирование записей по параметрам, входящим в этот ключ.

PS. 5 мегазаписей - это скорее "большая", а не "гигантская" таблица wink.gif

Спустя 29 секунд (28.12.2010 - 16:58) waldicom написал(а):
Цитата (Basili4 @ 28.12.2010 - 15:49)
Мне известно слово составной ключ я даже понимаю его смысл но как его сделать. Я не знаю

Как его сделать - дело второе. Нужно понять, возможен ли он.
Делается примерно так:
ALTER TABLE `table`
DROP PRIMARY KEY,
ADD PRIMARY KEY(
`field1`,
`field2`,
`field3`);
Можно просто уникальный индекс по этим полям или в крайнем случае просто индекс по полям. Это если операция чтения больше, чем вставки и удаления (общий случай)

Спустя 6 минут, 48 секунд (28.12.2010 - 17:05) Basili4 написал(а):
У меня только операции добавления и чтения. Ничего не удаляется. Связка полей дата индикатор устройства уникален.

Спустя 48 секунд (28.12.2010 - 17:06) waldicom написал(а):
Цитата (Basili4 @ 28.12.2010 - 16:05)
У меня только операции добавления и чтения. Ничего не удаляется. Связка полей дата индикатор устройства уникален.

Тогда делай по ним индекс и потом EXPLAIN.

Спустя 2 минуты (28.12.2010 - 17:08) Basili4 написал(а):
ок спасибо.


_____________
Цитата
От постоянного сидения рядом с клавиатурой начинает болеть спина.


Делаю сайты, пишу скрипты php, js.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.