|
|
|
Выборка из нескольких таблиц с одинаковой структурой
|
|||
|---|---|---|---|
|
#18+
Добрый день. Имеется одна бд с шестью таблицами. Структура одинакова. Запрос к каждой таблице примерно такой: Код: plsql 1. 2. 3. 4. Но шесть раз выполнять селект не совсем логично, как мне кажется, кроме того, данный запрос будет выполняться (наверное) руками через heidiSQL, а не скриптом, и одинаковое условие так придется писать шесть раз. Как реализовать грамотно? Благодарю. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 11:55:40 |
|
||
|
Выборка из нескольких таблиц с одинаковой структурой
|
|||
|---|---|---|---|
|
#18+
Создать надтаблицу (MERGE Engine)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 11:57:22 |
|
||
|
Выборка из нескольких таблиц с одинаковой структурой
|
|||
|---|---|---|---|
|
#18+
Akina, Не совсем понимаю как это работает. Можете пример для моего случая написать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 12:10:58 |
|
||
|
Выборка из нескольких таблиц с одинаковой структурой
|
|||
|---|---|---|---|
|
#18+
... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 12:15:58 |
|
||
|
Выборка из нескольких таблиц с одинаковой структурой
|
|||
|---|---|---|---|
|
#18+
uttkaКак реализовать грамотно? Благодарю. Для таких случаев были придуманы вьюхи. Код: sql 1. 2. 3. 4. 5. И дальше обращайтесь с вьюхой v как с обычной таблицей. Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 12:37:26 |
|
||
|
Выборка из нескольких таблиц с одинаковой структурой
|
|||
|---|---|---|---|
|
#18+
LumixuttkaКак реализовать грамотно? Благодарю. Для таких случаев были придуманы вьюхи. Код: sql 1. 2. 3. 4. 5. И дальше обращайтесь с вьюхой v как с обычной таблицей. Код: sql 1. Только не забудьте убедиться, что MySQL проталкивает условие отбора внутрь view. Иначе индексы не сработают. И, скорее всего, тут нужны UNION ALL, а не UNION. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 13:12:32 |
|
||
|
Выборка из нескольких таблиц с одинаковой структурой
|
|||
|---|---|---|---|
|
#18+
miksoftТолько не забудьте убедиться, что MySQL проталкивает условие отбора внутрь view. Думается мне, что без конкретных инструкций с вашей стороны, самостоятельно он не сможет убедиться проталкивает или не проталкивает. Квалификация у него не самая высокая, если он задает подобные вопросы... хотя я могу и ошибаться... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 13:19:06 |
|
||
|
Выборка из нескольких таблиц с одинаковой структурой
|
|||
|---|---|---|---|
|
#18+
LumixmiksoftТолько не забудьте убедиться, что MySQL проталкивает условие отбора внутрь view. Думается мне, что без конкретных инструкций с вашей стороны, самостоятельно он не сможет убедиться проталкивает или не проталкивает.Это не самое плохое, есть еще хуже: http://dev.mysql.com/doc/refman/5.5/en/view-algorithms.html If the MERGE algorithm cannot be used, a temporary table must be used instead. MERGE cannot be used if the view contains any of the following constructs: ... UNION or UNION ALL ... В итоге, имхо, либо MERGE Engine, либо исходный запрос топикстартера. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 13:29:46 |
|
||
|
Выборка из нескольких таблиц с одинаковой структурой
|
|||
|---|---|---|---|
|
#18+
miksoftВ итоге, имхо, либо MERGE Engine, либо исходный запрос топикстартера. Мой опыт подсказывает мне, что решение на вьюхе ему подойдет больше, потому что вопрос эффективности тут не стоит... ведь он сказал, что будет вручную делать запросы через heidiSQL. Поэтому даже если запрос будет выполняться 10 сек, то невелика беда - подождет! Удобство не вбивать условия каждый 6 раз В ДАННОМ КОНКРЕТНОМ случае - это важнее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 14:54:15 |
|
||
|
Выборка из нескольких таблиц с одинаковой структурой
|
|||
|---|---|---|---|
|
#18+
LumixМой опыт подсказывает мне, что решение на вьюхе ему подойдет больше, потому что вопрос эффективности тут не стоит... ведь он сказал, что будет вручную делать запросы через heidiSQL. Поэтому даже если запрос будет выполняться 10 сек, то невелика беда - подождет! Удобство не вбивать условия каждый 6 раз В ДАННОМ КОНКРЕТНОМ случае - это важнее.Иными словами "я ни хрена не понял, что они тут сказали, но советую делать так, как я говорю". ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 15:04:04 |
|
||
|
Выборка из нескольких таблиц с одинаковой структурой
|
|||
|---|---|---|---|
|
#18+
LumixМой опыт подсказывает мне, что решение на вьюхе ему подойдет больше, потому что вопрос эффективности тут не стоит... ведь он сказал, что будет вручную делать запросы через heidiSQL.Если запросы он будет делать вручную, то ему нахрен не нужна вьюха, достаточно нажать Ctrl-H и заменить "2" на нужное значение. Такая замена займёт практически столько же времени, что и замена значения, передаваемого в отбор по вью, зато сам запрос будет работать быстрее. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 19:12:39 |
|
||
|
Выборка из нескольких таблиц с одинаковой структурой
|
|||
|---|---|---|---|
|
#18+
tanglirи заменить "2" на нужное значение и заменить 2 на нужное значение 6 РАЗ, а мой многолетний опыт подсказывает, что примерно в 25% случаев он будет в одном месте забывать заменить номер 4496 на 4483, особенно поздно вечером, потому что эти цифры сливаются, а результат такого запроса будет ошибочным, но он не сможет этого увидеть. единственный способ верно производить подобную замену - копировать запрос в блокнот, там заменять через Ctrl + F и вставлять обратно, но это СЛОЖНЕЕ, чем сделать вьюху. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 19:20:16 |
|
||
|
Выборка из нескольких таблиц с одинаковой структурой
|
|||
|---|---|---|---|
|
#18+
Lumixи заменить 2 на нужное значение 6 РАЗ, а мой многолетний опыт подсказывает, что примерно в 25% случаев он будет в одном месте забывать заменить номер 4496 на 4483,а мой "многолетний опыт"(r)(c)(tm) подсказывает, что текстовому редактору <совсем все равно>, сколько раз значение встречается в обрабатываемом тексте Lumixединственный способ верно производить подобную замену - копировать запрос в блокнот, там заменять через Ctrl + F и вставлять обратно, но это СЛОЖНЕЕ, чем сделать вьюхуЯ, наверное, ОЧЕНЬ сильно вас удивлю, но в нормальных дб-гуях, к коим можно отнести и heidisql, давно уже имеются (встроенные) редакторы запросов с поддержкой поиска/замены текста. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 06.11.2015, 19:39:52 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=39096449&tid=1832531]: |
0ms |
get settings: |
6ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
44ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 331ms |

| 0 / 0 |
