|
|
|
С двух таблиц сделать одну для sql запроса.
|
|||
|---|---|---|---|
|
#18+
Подскажите есть две абсолютно одинаковые таблицы по структуре но с разными данными. Можно ли создать 1 sql запрос который откроет две сразу таблицы эти и сделает из них одну выборку. то есть совместить результат. а если таблиц будет скажем 1000 можно ли таким же образом обратиться к ним одним sql запросом или прийдеться хранить все в одной таблице из за значительно уменьшения скорости. Будет при таком подходе проблемма со скоростью обработи? Есть ли ограничения на кол-во таблиц которые можно откруть так если можно. P/S это нужно это что бы данные разбивать по дням, хотя конечно можно все делать в одной таблице просто добавить дату, но ситуация такая что иногда нет необходимости работать со всеми данными. и как кажеться быстрее должно работать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2005, 14:59 |
|
||
|
С двух таблиц сделать одну для sql запроса.
|
|||
|---|---|---|---|
|
#18+
Зачем умножать сущности сверх необходимого? При правильно построеных индексах, выборка из одной таблицы будет ничтожно медленней, а учитывая, что на открытие каждой таблицы узодит время -- то и собственно быстрее ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2005, 15:24 |
|
||
|
С двух таблиц сделать одну для sql запроса.
|
|||
|---|---|---|---|
|
#18+
А если данных предвидеться каждый день минумум 200,000-1,000,000 новых. Сделать скажем индекс по дате в общей таблице. (кроме десятка других) Тогда через 12 месяцев минимум 200,000*365 итого 73 милиона. а данный за весь период каждый день не нужны только за свой? ТО есть анализ за конкретный день будеть с каждым днем все медленне и медленне? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2005, 15:41 |
|
||
|
С двух таблиц сделать одну для sql запроса.
|
|||
|---|---|---|---|
|
#18+
Обработка логов? Ммм... Наверное, стоит задаться вопросом, а понадобятся ли все эти 200000 запросов за 5 число прошлого месяца? Или можно их каким-то образом агрегировать? Если можно -- тогда создаётся некоторая временная таблица (содержащая дату, тем не менее), и периодически её содержимое обрабатывается, сама она бакапится и очищается. Но городить по таблице для каждого дня... Крайний вариант, ИМХО ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2005, 15:48 |
|
||
|
С двух таблиц сделать одну для sql запроса.
|
|||
|---|---|---|---|
|
#18+
>Обработка логов? Да. >Ммм... Наверное, стоит задаться вопросом, а понадобятся ли все эти 200000 >запросов за 5 число прошлого месяца? Или можно их каким-то образом >агрегировать? Если можно -- тогда создаётся некоторая временная таблица >(содержащая дату, тем не менее), и периодически её содержимое >обрабатывается, сама она бакапится и очищается. >Но городить по таблице для каждого дня... Крайний вариант, ИМХО Да хорошого анализа как раз и нужны примерно данные ка минимум месяц два. >Но городить по таблице для каждого дня... Крайний вариант, ИМХО А если все же то можно ли такой запрос безболезненно строить? Пусть скорость будет меньше но при большом кол-ве данных скорее всего будет и выиграш. Конечно можно создать 10-20 таблиц по всем полям логов и накапливать данные естесвенно повторений будет много размер базы уменьшиться в сотни раз на зато поиск строки в базе данных на повторение займет уууу.... На которую к стати даже индекс поставить нельзя (так как все проблемма в том что логи все практически данные от >200 <10000 символов) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.02.2005, 15:58 |
|
||
|
С двух таблиц сделать одну для sql запроса.
|
|||
|---|---|---|---|
|
#18+
смотри тип таблицы merge смотри команду union ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.02.2005, 12:56 |
|
||
|
|

start [/forum/topic.php?fid=47&msg=32901301&tid=1854368]: |
0ms |
get settings: |
8ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
165ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
63ms |
get tp. blocked users: |
2ms |
| others: | 220ms |
| total: | 500ms |

| 0 / 0 |
