|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
17.12.2020, 21:14 | #1 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Большая таблица в БД MySQL
Здравствуйте.
Общий объём таблицы на данный момент 768.4 МБ (MyISAM), если перевести в InnoDB - получится что-то около 1.5 ГБ. Количество записей - 8 112 676 Из 9 столбцов - 7 строчные varchar, и два числовых int (один из которых индексный первичный ключ). Такую структуру придумал не я, мне такая таблица досталась, и после заполнения большим объёмом данных начались проблемы. Активные действия - чтение, изменения редкие. Сейчас изменить можно что угодно, вся база с сайтом на обслуживании перед запуском. Я потыкал разные настройки, и простой запрос с условием вешает не только таблицу, но и весь веб-сервер - параллельные запросы на сайт зависают до конца обработки запроса. Я понимаю что есть проблема между креслом и монитором, но в моё оправдание большой обьём данных, с чем я ещё не сталкивался, и не могу найти полезную информацию в гугле. Что можно с этим сделать ?
Подпись ? Не, не слышал ...
|
18.12.2020, 12:24 | #2 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
1. структуру точнее можно?
2. есть ли внешние ключи? 3. Есть ли ключи вообще кроме primary? 4. какие запросы именно торрмозят? Пример запроса + его explain |
18.12.2020, 18:30 | #3 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
1. Ссылка на скриншот со структурой, по экспериментам такая структура тупит меньше всего.
2. Я не знаю где смотреть внешние ключи. 3. По картинке, получается что нету, но раньше были индексные ключи PKEY1, PKEY2 и SIDE. 4. Тормозят запросы SELECT с простыми условиями выборки. Соответственно сложные запросы тормозят ещё больше. Ссылка на скриншот простого примера запроса, и ссылка на скриншот explain. Только сейчас в network вкладке инструментов разработчика браузера, обратил внимание, что запрос длится 4 секунды, а phpMyAdmin показывает совершенно другую, нормальную цифру. То есть копать нужно в другом направлении. Что это может быть ?
Подпись ? Не, не слышал ...
|
18.12.2020, 22:21 | #4 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
1. Ключи потоки полям, по которым ищете, в частности code
2. Может вы выбираете всю бд? Без лимитов и пагинации? |
18.12.2020, 23:19 | #5 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Это выполняет оболочка phpMyAdmin в автоматическом режиме
На вкладке SQL написал запрос, получил ответ Оболочка пишет, что время запроса около-нулевое, а инспектор показывает 4 секунды. И похоже это проблема с автоматическими же настройками веб-сервера (apache), которые я трогал разве что на уровне виртуальных хостов. Либо проблема где-то между apache, PHP и MySQL, что-то типа "блокировки параллельных запросов одного клиента". Да, с другого устройства при этом ничего не висит. Что это может быть ?
Подпись ? Не, не слышал ...
|
19.12.2020, 09:28 | #6 |
Старожил
Регистрация: 25.02.2007
Сообщений: 4,160
|
Вы работаете в phpnyadmib или все же вам нужно из скрипта вашего?
Ещё раз - сделайте ключами все поля, по которым идут условия. И посмотрите потом и.сам запрос и его експлайн А в своих скриптах обязательно используйте лимиты |
19.12.2020, 17:23 | #7 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Свои скрипты по работе с БД я пишу крайне редко, и ещё реже нужно грузить большие объёмы данных. Пару раз приходилось, и там использовать лимиты - само собой разумеющееся.
Глючит в phpMyAdmin, зависание происходит на уровне веб-сервера или PHP, а не БД. Что с этим делать - решительно не понятно. Не сильно важно где именно мне нужно, глючит везде. Ок это сделаю позже.
Подпись ? Не, не слышал ...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Одна большая таблица или много маленьких | Андрей Цапко | SQL, базы данных | 10 | 11.02.2018 10:12 |
Не заполняется таблица MYSQL | Sergey_gorobets | PHP | 5 | 08.07.2015 13:46 |
Большая сводная таблица! | Hafling | Microsoft Office Access | 0 | 19.03.2014 18:03 |
Не создаётся таблица mysql | kennyi666 | PHP | 4 | 05.07.2012 17:33 |
Одна большая таблица или много маленьких. | SlvUn | Microsoft Office Access | 2 | 20.11.2009 20:15 |