|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
Господа, ну помогите с запросом или объясните, что не так. Есть 2 таблицы. 1-я с организациями, у которых есть почтовый индекс. (1675 записей) 2-я - БД почтовых индексов России. (46000 примерно записей) Пишу view: CREATE VIEW ORG_VIEW (GUID, ORG_NAME, REGION) AS SELECT ORGALLINFO.GUID, ORGALLINFO.ORGNAME, d1.REGION FROM ORGALLINFO Left join PINDX12 d1 on d1.POSTALCODE=ORGALLINFO.ORGPOSTINDEX ; После чего выполняю SELECT COUNT(*) FROM org_view Запрос выполняется больше 3-х минут. Где засада? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 14:09 |
|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
tarhitay, план запроса где? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 14:11 |
|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
LEFT написан сознательно, или "так вышло"? зы: и почему. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 14:15 |
|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
Мимопроходящий, нужны все организации, в которыйх нужно обозначить регион и район ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 14:18 |
|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
Симонов Денис, Ещеб знать что это такое... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 14:18 |
|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
15.08.2017 14:18, tarhitay пишет: > нужны все организации, в которыйх нужно обозначить регион и район а шо, у вас есть организации без региона? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 14:20 |
|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
Мимопроходящий, Нет. Но в таблице вбит полный адрес строкой. В принципе добавил прямо в таблицу регион, район, город. Но сам факт выполнения запроса в VIEW больше 3-х минут вызывает вопрос: почему? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 14:22 |
|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
Приведите DDL таблиц ORGALLINFO и PINDX12 (включая индексы). P.S. Запрос 1675 на 46000 выполнять 3-х минут - это странно. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 14:23 |
|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
МимопроходящийLEFT написан сознательно, или "так вышло"? зы: и почему. Дошло!!! Спасибо :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 14:25 |
|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
Убрал LEFT Запрос обработался за 1 секунду. Но если есть организация, у которой не указан индекс - ее не будет в выборке. Правильно? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 14:27 |
|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
Гаджимурадов Рустам, CREATE TABLE ORGALLINFO ( GUID Char(36) NOT NULL, ORGNAME Varchar(255), ORGPOSTINDEX Varchar(10), ORGADDRESSFULL Varchar(255), ORGDIRECTOR Varchar(255), ORGPHONES Varchar(255), ORGFAX Varchar(255), ORGMAIL Varchar(100), ORGSITE Varchar(100), ORGTYPEWORK Varchar(255), ISDELETED Smallint NOT NULL, REGION Varchar(100), AUTONOM Varchar(100), AREA Varchar(100), CITY Varchar(100), CITY_1 Varchar(100), CONSTRAINT PK_ORGALLINFO PRIMARY KEY (GUID) ); GRANT DELETE, INSERT, REFERENCES, SELECT, UPDATE ON ORGALLINFO TO SYSDBA WITH GRANT OPTION; CREATE TABLE ORGALLINFO ( GUID Char(36) NOT NULL, ORGNAME Varchar(255), ORGPOSTINDEX Varchar(10), ORGADDRESSFULL Varchar(255), ORGDIRECTOR Varchar(255), ORGPHONES Varchar(255), ORGFAX Varchar(255), ORGMAIL Varchar(100), ORGSITE Varchar(100), ORGTYPEWORK Varchar(255), ISDELETED Smallint NOT NULL, REGION Varchar(100), AUTONOM Varchar(100), AREA Varchar(100), CITY Varchar(100), CITY_1 Varchar(100), CONSTRAINT PK_ORGALLINFO PRIMARY KEY (GUID) ); GRANT DELETE, INSERT, REFERENCES, SELECT, UPDATE ON ORGALLINFO TO SYSDBA WITH GRANT OPTION; ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 14:29 |
|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
15.08.2017 14:27, tarhitay пишет: > если есть организация, у которой не указан индекс - ее не будет в выборке. Правильно? да. Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 14:29 |
|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
Мимопроходящий, А есть какой-то выход, кроме как добавление запроса с выборкой отдельно организаций, у которых нет индекса? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 14:30 |
|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
15.08.2017 14:30, tarhitay пишет: > А есть какой-то выход, кроме как добавление запроса с выборкой отдельно организаций, у которых нет индекса? а как ты им присвоишь регион, если у них нет индекса? Posted via ActualForum NNTP Server 1.5 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 14:31 |
|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
Мимопроходящий, Это в принципе не обязательно. В справочнике есть организации, у которых нет индекса, но есть телефон, адрес (без индекса) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 14:33 |
|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
Ужас! Нафига одну и ту же таблицу 2 раза приводить. Подозреваю что для поля POSTALCODE таблицы PINDX12 индекса нет ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 14:34 |
|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
Симонов Денис, Не понял по поводу 2-х таблиц. В первой таблице дабавил регион, район и т.д., потому что view выполняется очень долго. Изначально их там не было и не планировалось. Что такое индекс? P.S. Ну нуб я пока в БД ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 14:40 |
|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
tarhitay, нужно описание таблицы PINDX12. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 14:54 |
|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
KreatorXXItarhitay, нужно описание таблицы PINDX12. DDL? Выше скинул ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 15:00 |
|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
tarhitay, Вы странный? Где? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 15:02 |
|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
tarhitay, бессмыслица полная. условий where не видно ни во view, ни снаружи. Раз ORGALLINFO Left join значит из ORGALLINFO будут выбраны все записи. Какой тогда смысл делать select count по view с джойном, если вместо этого можно выполнить просто select count(*) from orgallinfo ? А про view... select count вынужден перебирать все записи, попадающие под where или его отсутствие. Значит, в данном случае переберет все из orgallinfo и зачем-то еще посчитает соответствующие из PINDX12. Еще и таблицы здоровенные (по размеру записей). ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 15:04 |
|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
KreatorXXItarhitay, Вы странный? Где? Сори :) CREATE TABLE PINDX12 ( POSTALCODE Varchar(100), REGION Varchar(100), AUTONOM Varchar(100), AREA Varchar(100), CITY Varchar(100), CITY_1 Varchar(100) ); GRANT DELETE, INSERT, REFERENCES, SELECT, UPDATE ON PINDX12 TO SYSDBA WITH GRANT OPTION; ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 15:14 |
|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
tarhitay, так попробуй Код: plsql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 15:17 |
|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
tarhitay, ну а чего тогда удивляешься медленному времени выполнения. У тебя в PINDX12 нет первичного ключа или хотя бы индекса на POSTALCODE. Довольно подозрительно что он у вас аж 100 симоволов ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 15:23 |
|
View с использованием left join. ООоооочень долго
|
|||
---|---|---|---|
#18+
tarhitayЧто такое индекс? P.S. Ну нуб я пока в БД у... как всё запущено. https://www.firebirdsql.org/file/documentation/reference_manuals/firebird-language-reference-30-rus.pdf Ну и http://www.ibase.ru раздел статьи ... |
|||
:
Нравится:
Не нравится:
|
|||
15.08.2017, 15:29 |
|
|
start [/forum/topic.php?fid=40&msg=39505713&tid=1561453]: |
0ms |
get settings: |
11ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
47ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
others: | 316ms |
total: | 465ms |
0 / 0 |