
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
13.12.2013, 22:40:28
|
|||
|---|---|---|---|
Поиск оптимального решения для следующего запроса |
|||
|
#18+
Какие существуют наиболее оптимальные решения с точки зрения производительности/скорости для следующего запроса? Прошу предлагать Ваши любые замечания и предложения, как его можно оптимизировать. Код: plsql 1. 2. 3. 4. 5. 6. 7. На данный момент есть следующие варианты: - Каждый раз пересчитывать MostRecentField3 и MostRecentField4 при вставке и обновлении выбранной строки в таблице на основе данных из другой таблицы. - Использовать запрос как есть. - Возможно удастся применить OVER(). Нужно проанализировать данные в таблицах и попробовать построить такой запрос. - Варианты предложенные сообществом. Данный код должен работать в MySQL v.5.1.50. Переход на другую версия БД планируется, но задачу необходимо реализовать минимальными усилиями для указанной версии MySQL. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.12.2013, 22:58:56
|
|||
|---|---|---|---|
Поиск оптимального решения для следующего запроса |
|||
|
#18+
kinglionВозможно удастся применить OVER()Вы с ораклом не попутали? Сколько всего записей в таблице t2 и в ней сколько уникальных значений поля fk ? К скольки из них происходит "обращение" в целом запросе в среднем? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.12.2013, 23:30:14
|
|||
|---|---|---|---|
Поиск оптимального решения для следующего запроса |
|||
|
#18+
Связи таблиц: t1 и t2 - один ко многим t1 и t3 - один к одному В данной версии MySQL нет возможности использовать OVER(), но есть библиотека, которая подключается дополнительно и делает что-то похожее на OVER() из MSSQL (Oracle). Но производительность этой библиотеки очень низкая. :) Принимаю любые предложения и замечания. Надеюсь на помощь сообщества в оптимизации этого запроса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
13.12.2013, 23:45:48
|
|||
|---|---|---|---|
Поиск оптимального решения для следующего запроса |
|||
|
#18+
kinglionПринимаю любые предложения и замечания. Надеюсь на помощь сообщества в оптимизации этого запроса.Тогда ответьте, пожалуйста, на вопросы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.12.2013, 05:38:41
|
|||
|---|---|---|---|
Поиск оптимального решения для следующего запроса |
|||
|
#18+
kinglion Какие существуют наиболее оптимальные решения с точки зрения производительности/скорости для следующего запроса? Прошу предлагать Ваши любые замечания и предложения, как его можно оптимизировать. Код: plsql 1. 2. 3. 4. 5. 6. 7. На данный момент есть следующие варианты: - Каждый раз пересчитывать MostRecentField3 и MostRecentField4 при вставке и обновлении выбранной строки в таблице на основе данных из другой таблицы. - Использовать запрос как есть. - Возможно удастся применить OVER(). Нужно проанализировать данные в таблицах и попробовать построить такой запрос. - Варианты предложенные сообществом. Данный код должен работать в MySQL v.5.1.50. Переход на другую версия БД планируется, но задачу необходимо реализовать минимальными усилиями для указанной версии MySQL. нормальный запрос, если индексы работают ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.12.2013, 11:12:49
|
|||
|---|---|---|---|
|
|||
Поиск оптимального решения для следующего запроса |
|||
|
#18+
можно еще так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.12.2013, 19:44:20
|
|||
|---|---|---|---|
|
|||
Поиск оптимального решения для следующего запроса |
|||
|
#18+
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.12.2013, 19:44:54
|
|||
|---|---|---|---|
|
|||
Поиск оптимального решения для следующего запроса |
|||
|
#18+
ой сорь, наврал)) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
14.12.2013, 19:48:05
|
|||
|---|---|---|---|
|
|||
Поиск оптимального решения для следующего запроса |
|||
|
#18+
в MS SQL придумали CROSS APPLY для таких целей, а в MySQL, наверное, только как в старттопике... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.12.2013, 13:36:09
|
|||
|---|---|---|---|
Поиск оптимального решения для следующего запроса |
|||
|
#18+
miksoftВы с ораклом не попутали? нет miksoftСколько всего записей в таблице t2 и в ней сколько уникальных значений поля fk ? t2 может содержать одну или несколько записей связанных с одной записью из t1. miksoftК скольки из них происходит "обращение" в целом запросе в среднем? Выбирается примерно к 0.1-0.5% записей при указании различных фильтров в WHERE. Фильтр применяется к таблице t1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.12.2013, 13:41:36
|
|||
|---|---|---|---|
Поиск оптимального решения для следующего запроса |
|||
|
#18+
Диклевич Александрможно еще так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Поля MostRecentField3 и MostRecentField4 могут выбираться из одной строки в таблице или из разных, поэтому этот вариант запроса не обеспечивет нужной функциональности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
16.12.2013, 14:18:34
|
|||
|---|---|---|---|
Поиск оптимального решения для следующего запроса |
|||
|
#18+
kinglionДиклевич Александрможно еще так Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Поля MostRecentField3 и MostRecentField4 могут выбираться из одной строки в таблице или из разных, поэтому этот вариант запроса не обеспечивет нужной функциональности. Предыдущее сообщение прошу игнорировать. Запрос правильный для этой задачи, но в ответе описывалась другая задача. Еще раз извиняюсь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1835537]: |
0ms |
get settings: |
5ms |
get forum list: |
15ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
49ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 204ms |
| total: | 328ms |

| 0 / 0 |
