Модераторы: skyboy
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как можно оптимизировать эту базу 
:(
    Опции темы
jhonyxakep
Дата 17.6.2015, 07:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

Репутация: нет
Всего: 8



Привет всем.

Есть таблица в БД (MyISAM) с 12 миллионами записей, в которую каждый день добавляется в среднем по 100 тыс новых. 
Выборка из такой таблицы даже одной записи(SELECT * FROM table LIMIT 1) занимает 10-20 секунд (что вообще честно говоря полный бред).

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

Код

'6f96fd1528a1544ed2636841af025687', '2', '1348', '185915408', '4062', '2013-11-06 00:00:00', '0000-00-00 00:00:00', '1391563431', 'USS Kobe', 'ALFA ROMEO', 'GT', '2006', '64000', '2000', '93720L', 'GRAY', 'FA', '4.5', '', '50000', '0', '0', 'negotiate sold', '', NULL, NULL, '0'


Первое поле записи - уникальный индекс (да-да, это md5), именно на него я и грешу.

К сожалению такой формат базы был задолго до моего начала работы с ней, и реальные тормоза начались примерное на 10 миллионах записей.

Выборка происходит с небольшой загрузкой процессора (2-12%), и, в общем то, небольшой загрузкой жесткого диска. Тестировал только с одним подключением. 

ЗЫ.

Для теста создавал мини-таблицу с id-значение, используя теже md5 как уникальные индексы, и конкретно в ней тормозов нет.

Также возникают странные затупы с другими таблицами, даже маленькими. MySQL также долго делает выборку из таких таблиц.


PM MAIL ICQ   Вверх
Akina
Дата 17.6.2015, 11:13 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



Цитата(jhonyxakep @  17.6.2015,  08:29 Найти цитируемый пост)
Первое поле записи - уникальный индекс (да-да, это md5)

Уникальный индекс или первичный индекс?
Если первичный - попробуй сделать его именно уником, и ввести в структуру синтетический первичный индекс.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
jhonyxakep
Дата 18.6.2015, 03:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Divide Et Impera
**


Профиль
Группа: Участник
Сообщений: 983
Регистрация: 7.4.2009
Где: Что, Когда?

Репутация: нет
Всего: 8



Цитата(Akina @  17.6.2015,  11:13 Найти цитируемый пост)
Уникальный индекс или первичный индекс?
Если первичный - попробуй сделать его именно уником, и ввести в структуру синтетический первичный индекс. 


Сделал на копии базы - всё также затупно.

Ещё заметил, что команда SHOW DATABASES выполняется 2 минуты. Всего 2 базы и 30 таблиц суммарно.

Добавлено через 1 минуту и 24 секунды
З.Ы. Если выполнять поиск по числовым параметрам то он выполняется почти моментально. Похоже какой-то структурный глюк
PM MAIL ICQ   Вверх
Akina
Дата 18.6.2015, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 106
Всего: 454



jhonyxakep, сколько времени выполняется запрос типа 
Код

SELECT * 
FROM table
WHERE md5_id = '6f96fd1528a1544ed2636841af025687'

?

Причём как для существующего в таблице значения, так и для несуществующего.

И покажи НАСТОЯЩИЙ create table для этой таблицы.


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MySQL | Следующая тема »


 




[ Время генерации скрипта: 0.1080 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.