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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа с объемной БД 
:(
    Опции темы
aligan89
Дата 22.10.2008, 20:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 21.10.2008

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



В БД хранится около 100 тыс. данных
 
Мне постоянно нужно выбирать скриптом из этой базы по 4-5 записей

Сильно ли это будет влиять на нагрузку сервера или нет?

На локальной машине очень быстро выбирает данные
PM MAIL   Вверх
Kesh
Дата 22.10.2008, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



Если выборка по индексу, то не сильно... Если данные достаточно статичные - используйте копию таблицы с типом MEMORY (если память позволяет)...


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
skyboy
Дата 22.10.2008, 23:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



Цитата(aligan89 @  22.10.2008,  19:24 Найти цитируемый пост)
В БД хранится около 100 тыс. данных
Мне постоянно нужно выбирать скриптом из этой базы по 4-5 записей

Меня одного сие сочетание настораживает?
aligan89, нагрузку на сервер можно определить непосредственно(под разные ОС - разные инструменты) или косвенно(анализируя результат EXPLAIN для запроса и сртуктуру БД, которые, между прочим, тобой нигде не указаны).
Не думаю, что на твой абстрактный вопрос можно получить реальный ответ(Kesh, не в обиду). 
PM MAIL   Вверх
Kesh
Дата 23.10.2008, 00:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



skyboy, а разве я дал реальный ответ?  smile 


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
aligan89
Дата 24.10.2008, 14:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 21.10.2008

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



Цитата(skyboy @ 22.10.2008,  23:47)
Цитата(aligan89 @  22.10.2008,  19:24 Найти цитируемый пост)
В БД хранится около 100 тыс. данных
Мне постоянно нужно выбирать скриптом из этой базы по 4-5 записей

Меня одного сие сочетание настораживает?
aligan89, нагрузку на сервер можно определить непосредственно(под разные ОС - разные инструменты) или косвенно(анализируя результат EXPLAIN для запроса и сртуктуру БД, которые, между прочим, тобой нигде не указаны).
Не думаю, что на твой абстрактный вопрос можно получить реальный ответ(Kesh, не в обиду).

что значит explain?
PM MAIL   Вверх
skyboy
Дата 24.10.2008, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



Цитата(aligan89 @  24.10.2008,  13:20 Найти цитируемый пост)
что значит explain? 

это конструкция такая. помогает делать профайлинг запросов.
PM MAIL   Вверх
gta4kv
Дата 24.10.2008, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Walking around mad.
***


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

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



Прошу заметить, что 100 тыс. это очень далеко от понятий «объёмная».
PM MAIL   Вверх
aligan89
Дата 25.10.2008, 08:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 21.10.2008

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



Цитата(gta4kv @ 24.10.2008,  16:27)
Прошу заметить, что 100 тыс. это очень далеко от понятий «объёмная».

Меня это радует. 
А сколько тыс. записей будет счиаться объемным, тоесть меня интересует когда уже будет происходить видимая глазом задержка ответа сервера MySQL
PM MAIL   Вверх
skyboy
Дата 25.10.2008, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



Цитата(aligan89 @  25.10.2008,  07:52 Найти цитируемый пост)
когда уже будет происходить видимая глазом задержка ответа сервера MySQL 

время обработки запроса зависит от самого запроса в первую очередь.
от конфигурации сервера и версии - во вторую.
от железа - в третью.
и где-то в десятую очередь - непосредственно от количества записей в БД.
ты с explain'ом разобрался?
PM MAIL   Вверх
aligan89
Дата 25.10.2008, 11:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 21.10.2008

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



Цитата(skyboy @ 25.10.2008,  09:05)
Цитата(aligan89 @  25.10.2008,  07:52 Найти цитируемый пост)
когда уже будет происходить видимая глазом задержка ответа сервера MySQL 

время обработки запроса зависит от самого запроса в первую очередь.
от конфигурации сервера и версии - во вторую.
от железа - в третью.
и где-то в десятую очередь - непосредственно от количества записей в БД.
ты с explain'ом разобрался?

Ага разбираюсь, спасибо.

Ну характеристики севера по максимуму, да и ПО обновляется постоянно. 
Я проделал тест. Добавл в таблице test (id|col1|col2|col3|col4) около милиона записей, ествственно скриптом
и сделал выборку SELECT * FROM test WHERE id=3000
Сервер MySQL вернул результат через пол секунды. Это номально для такого объема? 
PM MAIL   Вверх
Kesh
Дата 25.10.2008, 11:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2488
Регистрация: 31.7.2002
Где: Германия, Saarbrü cken

Репутация: 15
Всего: 54



aligan89, а полсекунды это время с возвратом или время выборки? А если пару раз такой запрос провести, второй быстрее?


--------------------
user posted image
PM MAIL WWW ICQ Skype   Вверх
skyboy
Дата 25.10.2008, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



Цитата(aligan89 @  25.10.2008,  10:26 Найти цитируемый пост)
Сервер MySQL вернул результат через пол секунды.

гораздо показательнее результат выполнения explain был бы...
Цитата(aligan89 @  25.10.2008,  10:26 Найти цитируемый пост)
Ага разбираюсь, спасибо.

ну, и чего там разбираться?  smile 
Код

explain select .... 

делаешь.
смотришь на результат.

Добавлено через 2 минуты и 3 секунды
за неимением прямой/косвенной связи с языком программирования, тема перемещена из "РНР: Базы данных"
PM MAIL   Вверх
aligan89
Дата 25.10.2008, 12:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 21.10.2008

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



ну вот сделал так - 
SQL-запрос: explain SELECT * FROM `test`; 
Ряды: 1 id    select_type    table    type    possible_keys    key    key_len    ref    rows    Extra 
1    SIMPLE    test    ALL    NULL    NULL    NULL    NULL    369643    

Что отсюда следует? 
PM MAIL   Вверх
skyboy
Дата 25.10.2008, 12:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 41
Всего: 260



это значит, что выбирать все 369643 записи не должно приходить тебе в голову. ключи не используются(в подобном запрос "выбрать всё" и не могут использоваться); отсутствующая сортировка/группировка не приводит к созданию временных таблиц... Вобщем, выбрал абсолютно синтетический пример, который ничего не показывает. 
PM MAIL   Вверх
Vaulter
Дата 25.10.2008, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


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

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



Цитата(aligan89 @  25.10.2008,  12:26 Найти цитируемый пост)
и сделал выборку SELECT * FROM test WHERE id=3000
Сервер MySQL вернул результат через пол секунды. Это номально для такого объема?


если id не ключ, то  smile 

Цитата(aligan89 @  25.10.2008,  09:52 Найти цитируемый пост)
А сколько тыс. записей будет счиаться объемным, тоесть меня интересует когда уже будет происходить видимая глазом задержка ответа сервера MySQL 

Это будет сразу ясно! smile Вот увидишь.

Удачи!  smile 


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


 




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


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

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