Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Повышение скорости выбора записей, находящихся "в конце" таблицы / 6 сообщений из 6, страница 1 из 1
22.08.2013, 00:21:16
    #38374008
kt368
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повышение скорости выбора записей, находящихся "в конце" таблицы
Здравствуйте.
Есть огромная таблица
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
CREATE TABLE `raw_data` (
  `id` bigint(11) NOT NULL AUTO_INCREMENT,
  `case_index` int(10) DEFAULT NULL,
  `index_in_case` tinyint(3) unsigned DEFAULT NULL,
  `ampl` float DEFAULT NULL,
  `ph` float DEFAULT NULL,
  PRIMARY KEY (`id`),
  UNIQUE KEY `id_UNIQUE` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=6614310478 DEFAULT CHARSET=latin1$$

размером 365 Гб.
В ней поле case_index инкрементируется каждые 100 записей, но не всегда именно 100, аналитической связи нет.
Мне нужно извлечь n-ое количество строк с case_index>m
Когда я пробую сделать
Код: sql
1.
SELECT * FROM raw_data where case_index>m limit n;

то при m больше 100000 время выборки растёт прямо пропорционально m, хотя выбираю я всегда n записей.
При m=1000000 время выборки 1000 строк уже превышает 1 минуту.
Когда я пробую выбирать по условию проверки не case_index, а id, который является PRIMARY KEY, то скорость выборки не зависит от m. Т.е так:
Код: sql
1.
SELECT * FROM raw_data where id>m limit n;

Тут - все быстро, менее 100 мсек.
Что можно предпринять для повышения скорости выборки с проверкой по case_index?
...
Рейтинг: 0 / 0
22.08.2013, 00:30:21
    #38374013
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повышение скорости выбора записей, находящихся "в конце" таблицы
индекс сделать?
...
Рейтинг: 0 / 0
22.08.2013, 00:31:26
    #38374014
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повышение скорости выбора записей, находящихся "в конце" таблицы
авторPRIMARY KEY (`id`),
UNIQUE KEY `id_UNIQUE` (`id`)
вот это вообще бред.
...
Рейтинг: 0 / 0
22.08.2013, 00:41:17
    #38374023
kt368
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повышение скорости выбора записей, находящихся "в конце" таблицы
ScareCrow,
это то, что мне mysqlworkbench выдал на запрос ПК по таблице - Copy to Clipboard - Create Statement.
За индекс спасибо, пошёл гуглить.
...
Рейтинг: 0 / 0
22.08.2013, 01:01:17
    #38374033
ScareCrow
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повышение скорости выбора записей, находящихся "в конце" таблицы
...
Рейтинг: 0 / 0
27.08.2013, 14:49:10
    #38378727
kt368
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Повышение скорости выбора записей, находящихся "в конце" таблицы
Снова здравствуйте!
Запустил через MySQL Workbench создание индексов для поля "case_index". Через два дня зашёл снова на эту машину, думал индексы уже создались. И вижу, что MySQLWorkbench почему-то закрыт, хотя процесс mysqld полностью грузит одно ядро процессора. Как узнать что конкретно сейчас выполняется MySQL сервером и как спрогнозировать сколько ему ещё времени нужно для создания индексов. У меня нигде не осталось записано, какую я ему конкретно дал команду, можно ли это сейчас узнать?
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Повышение скорости выбора записей, находящихся "в конце" таблицы / 6 сообщений из 6, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]