
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
24.03.2015, 23:42:04
|
|||
|---|---|---|---|
|
|||
Оптимизация SQL запроса |
|||
|
#18+
Здравствуйте! Задача: Получить значения которые есть в одной таблице, но нет в другой. Вариант с LEFT JOIN не подходит, т.к. таблицы - миллионики и запрос КРАЙНЕ долог(около 1.5 часов). Индексирование вводил в одну таблицу - немного ускорилось, во вторую босс запрещает. Пробовал на perl, php Выручайте!!! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.03.2015, 23:44:33
|
|||
|---|---|---|---|
Оптимизация SQL запроса |
|||
|
#18+
Давай запрос и DDL всех таблиц ... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
24.03.2015, 23:53:52
|
|||
|---|---|---|---|
|
|||
Оптимизация SQL запроса |
|||
|
#18+
MasterZivДавай запрос и DDL всех таблиц ... Таблица 1 CREATE TABLE `table1` ( `ID` int(10) NOT NULL AUTO_INCREMENT, `ISBN` varchar(255) DEFAULT NULL, `NO` varchar(255) DEFAULT NULL, `NOBD` varchar(255) DEFAULT NULL, `GOOD` varchar(255) DEFAULT NULL, PRIMARY KEY (`ID`), KEY `good` (`GOOD`), KEY `NO` (`NO`) ) ENGINE=InnoDB AUTO_INCREMENT=147382 DEFAULT CHARSET=cp1251 Таблица 2 CREATE TABLE `table2` ( `ID` int(11) NOT NULL AUTO_INCREMENT, `IBLOCK_ELEMENT_ID` int(11) NOT NULL, `IBLOCK_PROPERTY_ID` int(11) NOT NULL, `VALUE` text NOT NULL, `VALUE_ENUM` int(11) DEFAULT NULL, `VALUE_NUM` decimal(18,4) DEFAULT NULL, `DESCRIPTION` varchar(255) DEFAULT NULL, PRIMARY KEY (`ID`), KEY `ix_iblock_elem_prop_m1_1` (`IBLOCK_ELEMENT_ID`,`IBLOCK_PROPERTY_ID`), KEY `ix_iblock_elem_prop_m1_2` (`IBLOCK_PROPERTY_ID`), KEY `ix_iblock_elem_prop_m1_3` (`VALUE_ENUM`,`IBLOCK_PROPERTY_ID`), KEY `ix_iblock_elem_prop_m1_s4` (`IBLOCK_PROPERTY_ID`,`VALUE`(17)) ) ENGINE=InnoDB AUTO_INCREMENT=3103932 DEFAULT CHARSET=cp1251 Запрос my $sth_x = $dbh_b->prepare("SELECT distinct(m1.`VALUE`) from table2 m1 LEFT JOIN table1 a1 ON a1.`GOOD` = m1.`VALUE` or a1.`NO` = m1.`VALUE` WHERE m1.`IBLOCK_PROPERTY_ID` = '1' and a1.`GOOD` IS NULL and a1.`NO` IS NULL limit 50000"); $sth_x->execute(); ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2015, 00:19:26
|
|||
|---|---|---|---|
Оптимизация SQL запроса |
|||
|
#18+
Кириллnot, Позволю себе отформатировать ваши серые портянки: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Код: sql 1. 2. 3. 4. 5. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2015, 00:21:08
|
|||
|---|---|---|---|
Оптимизация SQL запроса |
|||
|
#18+
Кириллnotво вторую босс запрещает.Передайте боссу, что Битрикс вполне благосклонно относится к индексам и за это с техподдержки не снимают. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2015, 00:32:05
|
|||
|---|---|---|---|
Оптимизация SQL запроса |
|||
|
#18+
Попробуйте так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. Правда, довольно странно выглядит сравнение типов varchar(255) и text. P.S. Кто-нибудь мне объяснит, откуда пошла дурацкая практика поле после distinct писать в скобках? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2015, 00:45:58
|
|||
|---|---|---|---|
|
|||
Оптимизация SQL запроса |
|||
|
#18+
miksoft, Спасибо большое! Передам. А существуют альтернативные решения? угадали про bitrix или я где то слил ?) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2015, 00:46:31
|
|||
|---|---|---|---|
|
|||
Оптимизация SQL запроса |
|||
|
#18+
miksoft, Не заметил попробую ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
25.03.2015, 00:52:53
|
|||
|---|---|---|---|
Оптимизация SQL запроса |
|||
|
#18+
КириллnotА существуют альтернативные решения?Самый быстрый способ что-то сделать - не делать этого вовсе. Так и тут - нужно сперва понять, откуда возникла такая задача в дублировании данных в таблицах. А потом подумать, а не получится ли от этого избавиться? Кириллnotугадали про bitrix или я где то слил ?)table2 трудно спутать, если когда-нибудь видел структуру таблиц Битрикса. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1833394]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
43ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 220ms |
| total: | 326ms |

| 0 / 0 |
