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

start [/forum/topic.php?fid=47&msg=38502095&tid=1835537]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
28ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 203ms |
| total: | 295ms |

| 0 / 0 |
