|
Помогите с индексами
|
|||
---|---|---|---|
#18+
Добрый день! Помогите привести такой запрос к максимальной скорости получения всех записей: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16.
Какие индексы лучше всего добавить? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2016, 17:39 |
|
Помогите с индексами
|
|||
---|---|---|---|
#18+
Количество записей в таблице до 1 млн. FB 2.5.6 ... |
|||
:
Нравится:
Не нравится:
|
|||
17.12.2016, 17:40 |
|
Помогите с индексами
|
|||
---|---|---|---|
#18+
__Avenger__, нужен план запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 09:12 |
|
Помогите с индексами
|
|||
---|---|---|---|
#18+
rdb_dev, я тебе и без плана скажу что эффективность такого JOIN будет так себе, а вот как можно улучшить пока не вижу ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 09:29 |
|
Помогите с индексами
|
|||
---|---|---|---|
#18+
__Avenger__, объясни словами, что ты хочешь получить представленным запросом. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 10:41 |
|
Помогите с индексами
|
|||
---|---|---|---|
#18+
__Avenger__, это: Код: plsql 1. 2.
полнейшая галиматья. Такое утверждение возможно только при условии что t1.object_id = t2.object_id и этот узел не имеет дочерних элементов, а следовательно: Код: plsql 1.
не имеет смысла и весь запрос никаких данных не возвращает. Получение всех конечных узлов дерева: Код: plsql 1. 2. 3.
Получение кол-ва всех дочерних узлов каждого узла дерева: Код: plsql 1. 2.
Получение всех дочерних узлов каждого узла: Код: plsql 1. 2. 3. 4.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 11:49 |
|
Помогите с индексами
|
|||
---|---|---|---|
#18+
Кто говорит голимотья, смотрите тестовые данные. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 12:58 |
|
Помогите с индексами
|
|||
---|---|---|---|
#18+
rdb_dev__Avenger__, это: Код: plsql 1. 2.
полнейшая галиматья. Такое утверждение возможно только при условии что t1.object_id = t2.object_id и этот узел не имеет дочерних элементов, а Не говорите ерундой. Это не полнейшая галиматья, это дополнительные фильтры. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 13:08 |
|
Помогите с индексами
|
|||
---|---|---|---|
#18+
__Avenger__, и что там надо развидеть? Кривую ключевую информацию, при которой Код: plsql 1. 2. 3.
имеет смысл? Попробуй сам применить данное условие к любому узлу из примера: ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 13:13 |
|
Помогите с индексами
|
|||
---|---|---|---|
#18+
__Avenger__, что же ты DDL даёшь которая не соответствует скрипту загрузки ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 13:14 |
|
Помогите с индексами
|
|||
---|---|---|---|
#18+
Симонов Денис__Avenger__, что же ты DDL даёшь которая не соответствует скрипту загрузки Я исправлюсь. Сейчас расскажу о самой задаче с тестовыми данными. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 13:24 |
|
Помогите с индексами
|
|||
---|---|---|---|
#18+
__Avenger__, да поправил под твой скрипт уже Код: sql 1. 2. 3. 4. 5. 6.
а вот что за задачу решаешь хотелось бы услышать ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 13:27 |
|
Помогите с индексами
|
|||
---|---|---|---|
#18+
Задача – поиск адресных объектов в системе ФИАС Пусть у нас есть поисковый запрос «санкт новгор стар». Пронумируем слова: WordID = 1 - санкт WordID = 2 - новгор WordID = 3 - стар Система вернет в таблицу Код: sql 1. 2. 3. 4. 5. 6.
данные, которые представлены во вложенном файле. Как видно в поисковом запросе используется три слова. Данному запросу будет соответствовать один верный ответ - 743FA475-8AFA-4CAF-B211-0F0372A2D762: Код: plaintext 1. 2. 3. 4.
потому что, его интервал лежит внутри двух других интервалов, в которых встречаются оставшиеся поисковые слова 1393227 < 1409768 < 1410849 < 1411152 1411153 < 1411248 < 1411261 < 1414996 ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 13:40 |
|
Помогите с индексами
|
|||
---|---|---|---|
#18+
__Avenger__, я до конца не врубился, но для твоего изначального запроса подойдут обычные индексы. Код: sql 1. 2.
Композиты ничего не улучшат. Игры с ASC DESC тоже, ибо всё равно уйдёт на внешнюю сортировку. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 13:53 |
|
Помогите с индексами
|
|||
---|---|---|---|
#18+
Симонов Денис__Avenger__, я до конца не врубился, но для твоего изначального запроса подойдут обычные индексы. Композиты ничего не улучшат. Игры с ASC DESC тоже, ибо всё равно уйдёт на внешнюю сортировку. Спасибо, я модифицировал запрос на такой: Код: sql 1. 2. 3. 4. 5. 6. 7.
Добавлено два индекса: Код: sql 1. 2.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 14:00 |
|
Помогите с индексами
|
|||
---|---|---|---|
#18+
__Avenger__, так чтоль? Код: plsql 1. 2. 3. 4. 5. 6.
или Код: plsql 1. 2. 3. 4. 5. 6.
Что должно быть в результирующем наборе строк? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 14:09 |
|
Помогите с индексами
|
|||
---|---|---|---|
#18+
__Avenger__Задача – поиск адресных объектов в системе ФИАС Пусть у нас есть поисковый запрос «санкт новгор стар». Пронумируем слова: Хм... Ну и как ты собираешься отделять Новгород (Великий) и Нижний Новгород? И Санкт-Петербург от Санкт-Петербургоского шоссе и банка Санкт-Петербург? Такшта - КГ, автор - двоешнег по Русскому языку. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 14:10 |
|
Помогите с индексами
|
|||
---|---|---|---|
#18+
Di_LIne__Avenger__Задача – поиск адресных объектов в системе ФИАС Пусть у нас есть поисковый запрос «санкт новгор стар». Пронумируем слова: Хм... Ну и как ты собираешься отделять Новгород (Великий) и Нижний Новгород? И Санкт-Петербург от Санкт-Петербургоского шоссе и банка Санкт-Петербург? Такшта - КГ, автор - двоешнег по Русскому языку. Запрос отделяет, если на одной ветке лежат все поисковые слова. Приведи пример, прогоню на данных. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 14:14 |
|
Помогите с индексами
|
|||
---|---|---|---|
#18+
rdb_dev__Avenger__, так чтоль? Код: plsql 1. 2. 3. 4. 5. 6.
Результат: NODE_ID ADDRESS AB9218FD-CB07-4BB8-AFF2-EE3D735E9CAC , Новгородская обл, , Старорусский р-н, , , , C2DEB16A-0330-4F05-821F-1D09C93331E6 190000, Санкт-Петербург г, , , , , , E5A84B81-8EA1-49E3-B3C4-0528651BE129 , Новгородская обл, , , , , , ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 14:17 |
|
Помогите с индексами
|
|||
---|---|---|---|
#18+
rdb_devЧто должно быть в результирующем наборе строк? Данному запросу будет соответствовать один верный ответ - 743FA475-8AFA-4CAF-B211-0F0372A2D762: ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 14:19 |
|
Помогите с индексами
|
|||
---|---|---|---|
#18+
__Avenger__, как так? В запросе же была ошибка... Надо после DISTINCT "t2" заменить на "child" ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 14:21 |
|
Помогите с индексами
|
|||
---|---|---|---|
#18+
rdb_dev__Avenger__, как так? В запросе же была ошибка... Надо после DISTINCT "t2" заменить на "child" Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 14:23 |
|
Помогите с индексами
|
|||
---|---|---|---|
#18+
__Avenger__, запрос с Код: plsql 1.
возвращает корни ветвей, содержащие в дочерних узлах более двух уникальных ключевых слов. Firebird мысли читать не умеет и ключевые слова не угадывает. Этот запрос - пересмотр твоего запроса в топике. Смотри мой второй запрос: Код: plsql 1. 2. 3. 4. 5. 6.
... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 14:36 |
|
Помогите с индексами
|
|||
---|---|---|---|
#18+
__Avenger__Запрос отделяет, если на одной ветке лежат все поисковые слова. - Не ври, да?... __Avenger__Задача – поиск адресных объектов в системе ФИАС Пусть у нас есть поисковый запрос «санкт новгор стар». Данному запросу будет соответствовать один верный ответ - 743FA475-8AFA-4CAF-B211-0F0372A2D762: OBJECT_ID PARENT_FK NAME NS_LEFT NS_RIGHT 743FA475-8AFA-4CAF-B211-0F0372A2D762 BC4E8FBC-54DC-4114-9C48-FD7A9B3E2E5C Санкт-Петербургская 1411152 1411153 Где в представленном тобой "результате" есть соответствие на "новгор стар"? ТО, что в основе глупая идея "отбросить окончания" - для меня очам_видна и так. Пример я тебе привел. Если не видишь, то пишу еше раз: Города Новгород и Нижний Новгород - два разных субъекта РФ. - Так понятно? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 14:39 |
|
Помогите с индексами
|
|||
---|---|---|---|
#18+
Di_LIneПример я тебе привел. Если не видишь, то пишу еше раз: Города Новгород и Нижний Новгород - два разных субъекта РФ. - Так понятно? А в чем проблема, они в дереве будут лежать на разных уровнях и принадлежать разным интервалам. Не вижу проблемы. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.12.2016, 14:49 |
|
|
start [/forum/topic.php?fid=40&msg=39370073&tid=1561796]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
47ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
68ms |
get tp. blocked users: |
2ms |
others: | 16ms |
total: | 175ms |
0 / 0 |