Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Отимизация запроса из одинаковых таблиц / 18 сообщений из 18, страница 1 из 1
17.04.2017, 13:18
    #39439631
I.CaR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отимизация запроса из одинаковых таблиц
Здравствуйте все.
Есть запрос:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
SELECT
  exam_users.number,
  exam_users.family,
  exam_users.name,
  exam_users.patronymic,
  exam_users.location,
  exam_users.birthdate,
  exam_users.theory,
  exam_users.practice,
  exam_users.status,
  exam_users.passport_series,
  exam_users.passport_number,
  exam_users.organization,
  exam_users.passport_date,
  exam_users.type_inspection
FROM exam_users
WHERE exam_users.date_test = "01.04.2017"
  union all
SELECT
  exam_users_other_city.number,
  exam_users_other_city.family,
  exam_users_other_city.name,
  exam_users_other_city.patronymic,
  exam_users_other_city.location,
  exam_users_other_city.birthdate,
  exam_users_other_city.theory,
  exam_users_other_city.practice,
  exam_users_other_city.status,
  exam_users_other_city.passport_series,
  exam_users_other_city.passport_number,
  exam_users_other_city.organization,
  exam_users_other_city.passport_date,
  exam_users_other_city.type_inspection
FROM exam_users_other_city
WHERE exam_users_other_city.date_test = "01.04.2017"



И это лишь 2 таблицы.
Просто прикидываю алгоритм. Но БД будет 4-5, а дальнейшем количество БД будет лишь расти.
Можно ли как-то соптимизировать данный запрос средствами mySQL?
Или нет?
...
Рейтинг: 0 / 0
17.04.2017, 13:23
    #39439637
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отимизация запроса из одинаковых таблиц
I.CaRБД будет 4-5, а дальнейшем количество БД будет лишь растиМожет, всё-таки таблиц?

I.CaRМожно ли как-то соптимизировать данный запрос средствами mySQL?Да нечего тут оптимизировать. Был бы индекс по полю date_test...
...
Рейтинг: 0 / 0
17.04.2017, 13:32
    #39439642
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отимизация запроса из одинаковых таблиц
I.CaRИ это лишь 2 таблицы.
А зачем это две таблицы, а не одна?
...
Рейтинг: 0 / 0
17.04.2017, 18:59
    #39439806
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отимизация запроса из одинаковых таблиц
I.CaRИ это лишь 2 таблицы.
Просто прикидываю алгоритм. Но БД будет 4-5, а дальнейшем количество БД будет лишь расти.
Можно ли как-то соптимизировать данный запрос средствами mySQL?
Или нет?

Можно, и ты не поверишь -- надо ВСЕ ДАННЫЕ СЛОЖИТЬ В ОДНУ ТАБЛИЦУ!
...
Рейтинг: 0 / 0
17.04.2017, 19:01
    #39439808
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отимизация запроса из одинаковых таблиц
AkinaI.CaRБД будет 4-5, а дальнейшем количество БД будет лишь растиМожет, всё-таки таблиц?

I.CaRМожно ли как-то соптимизировать данный запрос средствами mySQL?Да нечего тут оптимизировать. Был бы индекс по полю date_test...

Не, если у него кол-во таблиц будет расти, то производительность будет падать прямо пропорционально кол-ву таблиц.
При 10 таблиц упадёт в 10 раз.
...
Рейтинг: 0 / 0
17.04.2017, 19:06
    #39439810
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отимизация запроса из одинаковых таблиц
MasterZivПри 10 таблиц упадёт в 10 раз.На таком запросе? да вряд ли... это только передача данных на клиента замедлится пропорционально количеству записей (ну и в среднем пропорционально количеству таблиц), но ни в коем случае не выборка этих записей.
...
Рейтинг: 0 / 0
17.04.2017, 20:02
    #39439831
miksoft
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отимизация запроса из одинаковых таблиц
I.CaR
Код: sql
1.
exam_users.date_test = "01.04.2017"

За такое надо по рукам давать.
Если это не работает, то за одно, а если работает, то за другое :)
...
Рейтинг: 0 / 0
18.04.2017, 09:28
    #39439986
I.CaR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отимизация запроса из одинаковых таблиц
MasterZivI.CaRИ это лишь 2 таблицы.
Просто прикидываю алгоритм. Но БД будет 4-5, а дальнейшем количество БД будет лишь расти.
Можно ли как-то соптимизировать данный запрос средствами mySQL?
Или нет?

Можно, и ты не поверишь -- надо ВСЕ ДАННЫЕ СЛОЖИТЬ В ОДНУ ТАБЛИЦУ!
Надо же! Как-так я сразу-то, глупый я человек, недогодался при разработки БД!!!
А хранить её в облаке? С постоянным коннектом с интернет?
Посвящу вас немного в проект... ПО Клиент-Серверное приложение, локальное. Работает в ЛВС. Распространено по переферии, по разным регионам РФ, где не всегда и интернет-то есть (не забываем, что РФ, это не только МСК). В БД пишутся и фотографии, так что сами понимаете, чем это чревато при нестабильной связи.
Как раз сейчас и занялся разработкой выгрузки данных из периферийных БД и загрузкой в так называемую "центральную" БД.
А данный пример выборки делал для, как всегда срочного отчёта в кикие-то властные структуры нашей бюрократической страны, дабы не напрягать девчонок перебеванием в ПО с листочков уже когда-то вбитые данные.
Есть конструктивные предложения по централизации данного ПО? Пишите, рассмотрю.
...
Рейтинг: 0 / 0
18.04.2017, 09:33
    #39439988
I.CaR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отимизация запроса из одинаковых таблиц
miksoftI.CaR
Код: sql
1.
exam_users.date_test = "01.04.2017"

За такое надо по рукам давать.
Если это не работает, то за одно, а если работает, то за другое :)
Ёпт твою ... на лево!
Вас здесь таких много, примитивов?
Упрощение листинга - понятие для вас чуждо?
Хорошо, см:
Код: pascal
1.
2.
Form1.ADOQuery1.SQL.Add('SELECT'+[... тут запрос...]
'WHERE exam_users_other_city.date_test = "'+report_data+'"');


Теперь вам проще, понятнее?
...
Рейтинг: 0 / 0
18.04.2017, 09:39
    #39439992
I.CaR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отимизация запроса из одинаковых таблиц
AkinaI.CaRБД будет 4-5, а дальнейшем количество БД будет лишь растиМожет, всё-таки таблиц?

I.CaRМожно ли как-то соптимизировать данный запрос средствами mySQL?Да нечего тут оптимизировать. Был бы индекс по полю date_test...
Спасибо за ответ. Этот пример, так... Девчонок спасаю. С них отчёт срочно такой вот потребовали, какие-то гос.структуры.
А реализовывать программно выгрузку-загрузку, не одного дня работа.
По поводу "кол-во БД". Я привёл пример, так как самих БД у меня 5, а ещё и новые доп.офисы постоянно открываются (поэтому исходя из этого выразился так), а в запрос, соответственно пойдёт лишь участие таблиц (пока участие таблиц...).
...
Рейтинг: 0 / 0
18.04.2017, 09:46
    #39439998
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отимизация запроса из одинаковых таблиц
I.CaRсейчас и занялся разработкой выгрузки данных из периферийных БД и загрузкой в так называемую "центральную" БД.Вы не данные загружаете, а целиком таблицы. И именно это и есть источник проблем. Почему не загружать все данные в ОДНУ таблицу? тогда этой темы вообще бы не было (как и решаемой в ней проблемы).
I.CaRХорошо, см:нет, это Вы, извините за выражение, см... а если конкретно - то вот сюда . И особенно - на те абзацы, где указан необходимый формат литералов даты-времени.
...
Рейтинг: 0 / 0
18.04.2017, 09:51
    #39440002
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отимизация запроса из одинаковых таблиц
AkinaMasterZivПри 10 таблиц упадёт в 10 раз.На таком запросе? да вряд ли... это только передача данных на клиента замедлится пропорционально количеству записей (ну и в среднем пропорционально количеству таблиц), но ни в коем случае не выборка этих записей.
на этом его запросе, если он еще 8 таких таблиц добавит
...
Рейтинг: 0 / 0
18.04.2017, 09:57
    #39440011
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отимизация запроса из одинаковых таблиц
I.CaRMasterZivпропущено...


Можно, и ты не поверишь -- надо ВСЕ ДАННЫЕ СЛОЖИТЬ В ОДНУ ТАБЛИЦУ!
Надо же! Как-так я сразу-то, глупый я человек, недогодался при разработки БД!!!
А хранить её в облаке? С постоянным коннектом с интернет?
Посвящу вас немного в проект... ПО Клиент-Серверное приложение, локальное. Работает в ЛВС. Распространено по переферии, по разным регионам РФ, где не всегда и интернет-то есть (не забываем, что РФ, это не только МСК). В БД пишутся и фотографии, так что сами понимаете, чем это чревато при нестабильной связи.
Как раз сейчас и занялся разработкой выгрузки данных из периферийных БД и загрузкой в так называемую "центральную" БД.
А данный пример выборки делал для, как всегда срочного отчёта в кикие-то властные структуры нашей бюрократической страны, дабы не напрягать девчонок перебеванием в ПО с листочков уже когда-то вбитые данные.
Есть конструктивные предложения по централизации данного ПО? Пишите, рассмотрю.


это все твои личные проблемы. меня они мало касаются.
ты задал вопрос - получил ответ, далее думай сам.

учти, что ухудшение в 10 раз не обязательно так уж катастрофично.
...
Рейтинг: 0 / 0
18.04.2017, 10:45
    #39440053
I.CaR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отимизация запроса из одинаковых таблиц
Dimitry SibiryakovI.CaRИ это лишь 2 таблицы.
А зачем это две таблицы, а не одна?
Почему не одна? Сроки для апрельского отчёта уже прошли, а консолидировать 5 БД, думаю, за кратчайшие сроки не выйдет.
Россия - ни чего не предусмотрено, но к старту готовы! Девчонок пожалел. Они хотели вообще по новой вбивать и экзамены перепроходить за людей повторно!
...
Рейтинг: 0 / 0
18.04.2017, 10:52
    #39440059
I.CaR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отимизация запроса из одинаковых таблиц
И раз уже так много вопросов, почему не одна...
Отвечу: Я эти БД в дампах из других городов получил. Экстрагировал из дампов сами таблицы. Над консолидированной БД уже начал работать.
...
Рейтинг: 0 / 0
18.04.2017, 15:27
    #39440250
MasterZiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отимизация запроса из одинаковых таблиц
I.CaRИ раз уже так много вопросов, почему не одна...
Отвечу: Я эти БД в дампах из других городов получил. Экстрагировал из дампов сами таблицы. Над консолидированной БД уже начал работать.

Так один insert... select -- и всё в одной таблице...
...
Рейтинг: 0 / 0
19.04.2017, 12:29
    #39440811
I.CaR
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отимизация запроса из одинаковых таблиц
AkinaПочему не загружать все данные в ОДНУ таблицу? тогда этой темы вообще бы не было (как и решаемой в ней проблемы).

Объясню. ПО уже работает давно. Но спохватились об отчётах в госструктуры только сейчас.
Консалидировать БД процесс не одного дня.
Первое - Конфигурировать БД для разделения принятых записей от филиалов.
Второе - Программировать действительно выгрузку только данных.
(ещё нужно заставить филиалы обновить ПО. Вы хоть раз были в периферии в Сибири? Да местным руководителям чхать на ПО, у них гараж, дача, ребёнок в детском саду - скорость установки обновлений достигает 15-30 дней.)
Третье (да и самое простое) - Запрограммировать разделение выборки при создании отчёта (общий и по филиалам), уже из сконфигурированной под эти нужды центральной БД.
Не знаю, как кто-то, но я за один-два дня такое не напишу. У нас не IT-контора с кучей программеров.
Вот поэтому-то и было принято мной решение пойти кратчайшим путём.
Результат достигнут уже вчера.
-
Вывод: Велосипед не очень эффективное средство передвижение, однако и он, при некоторых обстоятельствах, бывает очень полезен!
Хотя идею на перспективы вы дали хорошую. Но область применения данного ПО не такая уж и плодотворная на реализацию, как идей, так и самого ПО.
...
Рейтинг: 0 / 0
19.04.2017, 12:34
    #39440822
Akina
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Отимизация запроса из одинаковых таблиц
I.CaRКонсалидировать БД процесс не одного дня.
При одинаковой структуре таблиц? ай, бросьте, делов на 5 минут. Либо INSERT .. SELECT в одну таблицу из кучи таблиц (можно даже не руками перебирать, а процедурой - ну тогда ладно, 10 минут), либо загружать таблицы в базу на MyISAM и состряпать объединяющую надтаблицу на MERGE Engine.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Отимизация запроса из одинаковых таблиц / 18 сообщений из 18, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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